task: set parent task for multi layer tasks
This commit is contained in:
parent
96cb2cc8a4
commit
dfbd70b326
10
go/main.go
10
go/main.go
@ -4,6 +4,7 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"ocl/portainer-devtool/configs"
|
"ocl/portainer-devtool/configs"
|
||||||
"ocl/portainer-devtool/tasks"
|
"ocl/portainer-devtool/tasks"
|
||||||
|
"ocl/portainer-devtool/tasks/common"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -15,12 +16,17 @@ func main() {
|
|||||||
config.Summarize()
|
config.Summarize()
|
||||||
|
|
||||||
// Init tasks
|
// Init tasks
|
||||||
taskItems := []tasks.Tasker{
|
taskItems := []common.Tasker{
|
||||||
|
tasks.NewListRepositoriesTask(config),
|
||||||
tasks.NewGenerateJwtTokenTask(config),
|
tasks.NewGenerateJwtTokenTask(config),
|
||||||
tasks.NewCurlLookupTask(),
|
tasks.NewCurlLookupTask(),
|
||||||
tasks.NewCodeSecurityScanTask(),
|
tasks.NewCodeSecurityScanTask(),
|
||||||
tasks.NewListDevToolCommandTask(config),
|
tasks.NewListDevToolCommandTask(config),
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.ListCommandMenu(taskItems, "Which repository of action do you want operate:")
|
for _, taskItem := range taskItems {
|
||||||
|
taskItem.SetParentTaskers(taskItems)
|
||||||
|
}
|
||||||
|
|
||||||
|
common.ListCommandMenu(taskItems, "Which repository of action do you want to operate:", true, nil)
|
||||||
}
|
}
|
||||||
|
@ -2,26 +2,32 @@ package tasks
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"ocl/portainer-devtool/configs"
|
"ocl/portainer-devtool/configs"
|
||||||
|
"ocl/portainer-devtool/tasks/common"
|
||||||
"ocl/portainer-devtool/tasks/subtasks"
|
"ocl/portainer-devtool/tasks/subtasks"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ListDevToolCommandTask struct {
|
type ListDevToolCommandTask struct {
|
||||||
Config *configs.Config
|
common.GeneralTask
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewListDevToolCommandTask(cfg *configs.Config) *ListDevToolCommandTask {
|
func NewListDevToolCommandTask(cfg *configs.Config) *ListDevToolCommandTask {
|
||||||
return &ListDevToolCommandTask{
|
return &ListDevToolCommandTask{
|
||||||
Config: cfg,
|
GeneralTask: *common.NewGeneralTask(cfg),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (task *ListDevToolCommandTask) Execute() error {
|
func (task *ListDevToolCommandTask) Execute() error {
|
||||||
subTaskItems := []Tasker{
|
subTaskItems := []common.Tasker{
|
||||||
subtasks.NewListVolumeSubTask(task.Config),
|
subtasks.NewListVolumeSubTask(task.Config),
|
||||||
subtasks.NewListRepositorySubTask(task.Config),
|
subtasks.NewListRepositorySubTask(task.Config),
|
||||||
}
|
}
|
||||||
|
|
||||||
ListCommandMenu(subTaskItems, "Which management commands do you want to choose:")
|
for _, taskItem := range subTaskItems {
|
||||||
|
taskItem.SetParentTaskers(subTaskItems)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ListCommandMenu(subTaskItems, "Which management commands do you want to choose:")
|
||||||
|
common.ListCommandMenu(subTaskItems, "Which management commands do you want to choose:", false, task.ParentTasks)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
34
go/tasks/list_repos.go
Normal file
34
go/tasks/list_repos.go
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
package tasks
|
||||||
|
|
||||||
|
import (
|
||||||
|
"ocl/portainer-devtool/configs"
|
||||||
|
"ocl/portainer-devtool/tasks/common"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ListRepositoriesTask struct {
|
||||||
|
common.GeneralTask
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewListRepositoriesTask(cfg *configs.Config) *ListRepositoriesTask {
|
||||||
|
return &ListRepositoriesTask{
|
||||||
|
GeneralTask: *common.NewGeneralTask(cfg),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (task *ListRepositoriesTask) Execute() error {
|
||||||
|
subTaskItems := []common.Tasker{
|
||||||
|
NewListRepoActionsSubTask(task.Config),
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, taskItem := range subTaskItems {
|
||||||
|
taskItem.SetParentTaskers(subTaskItems)
|
||||||
|
}
|
||||||
|
|
||||||
|
common.ListCommandMenu(subTaskItems, "Which management commands do you want to choose:", false, task.ParentTasks)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (task *ListRepositoriesTask) String() string {
|
||||||
|
return "List All Repositories"
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user