refactor for simplicity

This commit is contained in:
Robin Olsen
2026-02-18 15:32:08 +01:00
parent 2583ca13c3
commit 612f0c86c7
3 changed files with 41 additions and 48 deletions

View File

@@ -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
}

View File

@@ -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

View File

@@ -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")
}
}