refactor for simplicity
This commit is contained in:
@@ -9,9 +9,33 @@ import (
|
|||||||
"github.com/LazyBachelor/LazyPM/pkg/tui"
|
"github.com/LazyBachelor/LazyPM/pkg/tui"
|
||||||
"github.com/LazyBachelor/LazyPM/pkg/web"
|
"github.com/LazyBachelor/LazyPM/pkg/web"
|
||||||
|
|
||||||
|
"github.com/LazyBachelor/LazyPM/cmd/survey/tasks"
|
||||||
_ "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) {
|
func initializeServices(ctx context.Context) (*service.Services, func(), error) {
|
||||||
config := service.Config{
|
config := service.Config{
|
||||||
IssuePrefix: "pm",
|
IssuePrefix: "pm",
|
||||||
@@ -29,17 +53,3 @@ func initInterfaces() map[string]task.Interface {
|
|||||||
"web": web.NewWeb(),
|
"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"
|
"fmt"
|
||||||
"math/rand"
|
"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/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 {
|
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 {
|
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
|
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 {
|
func returnIfUserQuit(err error, msg string) error {
|
||||||
if errors.Is(err, task.ErrUserQuit) {
|
if errors.Is(err, task.ErrUserQuit) {
|
||||||
return nil
|
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