refactor services to use Interface and change name to app
This commit is contained in:
@@ -6,21 +6,21 @@ import (
|
||||
"github.com/LazyBachelor/LazyPM/internal/service"
|
||||
)
|
||||
|
||||
var registry = make(map[string]func(*service.Services) Tasker)
|
||||
var registry = make(map[string]func(*service.App) Tasker)
|
||||
|
||||
func Register(name string, constructor func(*service.Services) Tasker) {
|
||||
func Register(name string, constructor func(*service.App) Tasker) {
|
||||
if _, exists := registry[name]; exists {
|
||||
panic(fmt.Sprintf("task %q already registered", name))
|
||||
}
|
||||
registry[name] = constructor
|
||||
}
|
||||
|
||||
func Get(name string, svc *service.Services) (Tasker, error) {
|
||||
func Get(name string, app *service.App) (Tasker, error) {
|
||||
constructor, ok := registry[name]
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("task %q not found", name)
|
||||
}
|
||||
return constructor(svc), nil
|
||||
return constructor(app), nil
|
||||
}
|
||||
|
||||
func List() []string {
|
||||
|
||||
@@ -94,14 +94,13 @@ func startValidationLoop(ctx context.Context, t Tasker, feedbackChan chan Valida
|
||||
feedbackChan <- feedback
|
||||
doneChan <- true
|
||||
return
|
||||
} else {
|
||||
if err != nil {
|
||||
feedback.Message = err.Error()
|
||||
} else {
|
||||
feedback.Message = "Task not yet complete"
|
||||
}
|
||||
feedbackChan <- feedback
|
||||
}
|
||||
if err != nil {
|
||||
feedback.Message = err.Error()
|
||||
} else {
|
||||
feedback.Message = "Task not yet complete"
|
||||
}
|
||||
feedbackChan <- feedback
|
||||
case <-quitChan:
|
||||
return
|
||||
case <-ctx.Done():
|
||||
|
||||
@@ -8,15 +8,15 @@ import (
|
||||
taskui "github.com/LazyBachelor/LazyPM/pkg/task/ui"
|
||||
)
|
||||
|
||||
type TaskConfig = service.Config
|
||||
type Config = service.Config
|
||||
type InterfaceType string
|
||||
|
||||
type Interface interface {
|
||||
Run(context.Context, TaskConfig) error
|
||||
Run(context.Context, Config) error
|
||||
}
|
||||
|
||||
type Tasker interface {
|
||||
Config() TaskConfig
|
||||
Config() Config
|
||||
Details() taskui.TaskDetails
|
||||
Questions(InterfaceType) taskui.Questions
|
||||
Setup(context.Context) error
|
||||
|
||||
Reference in New Issue
Block a user