refactor for simplicity
This commit is contained in:
@@ -9,9 +9,33 @@ import (
|
||||
"github.com/LazyBachelor/LazyPM/pkg/tui"
|
||||
"github.com/LazyBachelor/LazyPM/pkg/web"
|
||||
|
||||
"github.com/LazyBachelor/LazyPM/cmd/survey/tasks"
|
||||
_ "github.com/LazyBachelor/LazyPM/cmd/survey/tasks"
|
||||
)
|
||||
|
||||
func init() {
|
||||
task.Register("create_issue", func(svc *service.Services) task.Tasker {
|
||||
return tasks.NewCreateIssueTask(svc)
|
||||
})
|
||||
task.Register("coding_task", func(svc *service.Services) task.Tasker {
|
||||
return tasks.NewCodingTask(svc)
|
||||
})
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
func initializeServices(ctx context.Context) (*service.Services, func(), error) {
|
||||
config := service.Config{
|
||||
IssuePrefix: "pm",
|
||||
@@ -29,17 +53,3 @@ 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
|
||||
}
|
||||
|
||||
@@ -6,12 +6,14 @@ import (
|
||||
"fmt"
|
||||
"math/rand"
|
||||
|
||||
"github.com/LazyBachelor/LazyPM/cmd/survey/tasks"
|
||||
"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"
|
||||
)
|
||||
|
||||
func runTask(ctx context.Context, t task.Tasker, i task.Interface) error {
|
||||
return task.RunTask(ctx, t, i, tasks.InterfaceToType(i))
|
||||
return task.RunTask(ctx, t, i, InterfaceToType(i))
|
||||
}
|
||||
|
||||
func taskLoop(ctx context.Context, surveyTasks []task.Tasker, interfaces map[string]task.Interface) error {
|
||||
@@ -35,6 +37,19 @@ func taskLoop(ctx context.Context, surveyTasks []task.Tasker, interfaces map[str
|
||||
return nil
|
||||
}
|
||||
|
||||
func InterfaceToType(it task.Interface) task.InterfaceType {
|
||||
switch it.(type) {
|
||||
case *repl.REPL:
|
||||
return task.InterfaceCLI
|
||||
case *tui.Tui:
|
||||
return task.InterfaceTUI
|
||||
case *web.Web:
|
||||
return task.InterfaceWeb
|
||||
default:
|
||||
return task.InterfaceType("unknown")
|
||||
}
|
||||
}
|
||||
|
||||
func returnIfUserQuit(err error, msg string) error {
|
||||
if errors.Is(err, task.ErrUserQuit) {
|
||||
return nil
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
package tasks
|
||||
|
||||
import (
|
||||
"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"
|
||||
)
|
||||
|
||||
func init() {
|
||||
task.Register("create_issue", func(svc *service.Services) task.Tasker {
|
||||
return NewCreateIssueTask(svc)
|
||||
})
|
||||
|
||||
task.Register("coding_task", func(svc *service.Services) task.Tasker {
|
||||
return NewCodingTask(svc)
|
||||
})
|
||||
}
|
||||
|
||||
func InterfaceToType(it task.Interface) task.InterfaceType {
|
||||
switch it.(type) {
|
||||
case *repl.REPL:
|
||||
return task.InterfaceCLI
|
||||
case *tui.Tui:
|
||||
return task.InterfaceTUI
|
||||
case *web.Web:
|
||||
return task.InterfaceWeb
|
||||
default:
|
||||
return task.InterfaceType("unknown")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user