refactor to use Tasker interface instead of Task
add tasker register for registering tasks for extiensibility
This commit is contained in:
@@ -3,12 +3,13 @@ package main
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/LazyBachelor/LazyPM/cmd/survey/tasks"
|
||||
"github.com/LazyBachelor/LazyPM/internal/service"
|
||||
"github.com/LazyBachelor/LazyPM/pkg/cli/repl"
|
||||
"github.com/LazyBachelor/LazyPM/pkg/task"
|
||||
"github.com/LazyBachelor/LazyPM/pkg/tui"
|
||||
"github.com/LazyBachelor/LazyPM/pkg/web"
|
||||
|
||||
_ "github.com/LazyBachelor/LazyPM/cmd/survey/tasks"
|
||||
)
|
||||
|
||||
func initializeServices(ctx context.Context) (*service.Services, func(), error) {
|
||||
@@ -21,12 +22,6 @@ func initializeServices(ctx context.Context) (*service.Services, func(), error)
|
||||
return service.NewServices(ctx, config)
|
||||
}
|
||||
|
||||
func initTasks(svc *service.Services) []*task.Task {
|
||||
return []*task.Task{
|
||||
tasks.NewCreateIssueTask(svc).Init(),
|
||||
}
|
||||
}
|
||||
|
||||
func initInterfaces() map[string]task.Interface {
|
||||
return map[string]task.Interface{
|
||||
"repl": repl.NewRepl(),
|
||||
@@ -34,3 +29,17 @@ func initInterfaces() map[string]task.Interface {
|
||||
"web": web.NewWeb(),
|
||||
}
|
||||
}
|
||||
|
||||
func initTasks(svc *service.Services) []task.Tasker {
|
||||
var taskers []task.Tasker
|
||||
|
||||
for _, name := range task.List() {
|
||||
t, err := task.Get(name, svc)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
taskers = append(taskers, t)
|
||||
}
|
||||
|
||||
return taskers
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user