From 96cb2cc8a46f5cf6791cc10e2983c920d3e5fbd3 Mon Sep 17 00:00:00 2001 From: oscarzhou Date: Sun, 8 Jan 2023 21:39:25 +1300 Subject: [PATCH] refactor: add general tasks to the existing tasks --- go/tasks/code_security_scan.go | 6 +++++ go/tasks/curl_lookup.go | 6 +++++ go/tasks/jwt_token_gen.go | 5 ++-- go/tasks/list_repo_actions.go | 36 ++++++++++++++++++++++++++++ go/tasks/subtasks/list_repository.go | 5 ++-- go/tasks/subtasks/list_volume.go | 5 ++-- 6 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 go/tasks/list_repo_actions.go diff --git a/go/tasks/code_security_scan.go b/go/tasks/code_security_scan.go index 63b6411..063bd74 100644 --- a/go/tasks/code_security_scan.go +++ b/go/tasks/code_security_scan.go @@ -1,10 +1,12 @@ package tasks import ( + "ocl/portainer-devtool/tasks/common" "ocl/portainer-devtool/utils" ) type CodeSecurityScanTask struct { + ParentTasks []common.Tasker } func NewCodeSecurityScanTask() *CodeSecurityScanTask { @@ -30,6 +32,10 @@ func (task *CodeSecurityScanTask) Execute() error { return nil } +func (task *CodeSecurityScanTask) SetParentTaskers(tasks []common.Tasker) { + task.ParentTasks = tasks +} + func (task *CodeSecurityScanTask) String() string { return "Code Security Scan" } diff --git a/go/tasks/curl_lookup.go b/go/tasks/curl_lookup.go index be80959..712700a 100644 --- a/go/tasks/curl_lookup.go +++ b/go/tasks/curl_lookup.go @@ -2,10 +2,12 @@ package tasks import ( "fmt" + "ocl/portainer-devtool/tasks/common" "ocl/portainer-devtool/utils" ) type CurlLookupTask struct { + ParentTasks []common.Tasker } func NewCurlLookupTask() *CurlLookupTask { @@ -43,6 +45,10 @@ func (task *CurlLookupTask) Execute() error { return nil } +func (task *CurlLookupTask) SetParentTaskers(tasks []common.Tasker) { + task.ParentTasks = tasks +} + func (task *CurlLookupTask) String() string { return "Lookup Curl Commands" } diff --git a/go/tasks/jwt_token_gen.go b/go/tasks/jwt_token_gen.go index 17c8f93..fe2ad69 100644 --- a/go/tasks/jwt_token_gen.go +++ b/go/tasks/jwt_token_gen.go @@ -7,10 +7,11 @@ import ( "io/ioutil" "net/http" "ocl/portainer-devtool/configs" + "ocl/portainer-devtool/tasks/common" ) type GenerateJwtTokenTask struct { - Config *configs.Config + common.GeneralTask } type GenerateJwtTokenResponse struct { @@ -19,7 +20,7 @@ type GenerateJwtTokenResponse struct { func NewGenerateJwtTokenTask(cfg *configs.Config) *GenerateJwtTokenTask { return &GenerateJwtTokenTask{ - Config: cfg, + GeneralTask: *common.NewGeneralTask(cfg), } } diff --git a/go/tasks/list_repo_actions.go b/go/tasks/list_repo_actions.go new file mode 100644 index 0000000..52f85eb --- /dev/null +++ b/go/tasks/list_repo_actions.go @@ -0,0 +1,36 @@ +package tasks + +import ( + "ocl/portainer-devtool/configs" + "ocl/portainer-devtool/repositories/unpacker" + "ocl/portainer-devtool/tasks/common" +) + +type ListRepoActionsSubTask struct { + Config *configs.Config + ParentTasks []common.Tasker +} + +func NewListRepoActionsSubTask(cfg *configs.Config) *ListRepoActionsSubTask { + return &ListRepoActionsSubTask{ + Config: cfg, + } +} + +func (task *ListRepoActionsSubTask) Execute() error { + subTaskItems := []common.Tasker{ + unpacker.NewBuildDockerImageSubTask(task.Config), + } + + common.ListCommandMenu(subTaskItems, "Which management commands do you want to choose:", false, task.ParentTasks) + + return nil +} + +func (task *ListRepoActionsSubTask) SetParentTaskers(tasks []common.Tasker) { + task.ParentTasks = tasks +} + +func (task *ListRepoActionsSubTask) String() string { + return "Choose Repository Commands" +} diff --git a/go/tasks/subtasks/list_repository.go b/go/tasks/subtasks/list_repository.go index 1582ee7..71924d0 100644 --- a/go/tasks/subtasks/list_repository.go +++ b/go/tasks/subtasks/list_repository.go @@ -2,17 +2,18 @@ package subtasks import ( "ocl/portainer-devtool/configs" + "ocl/portainer-devtool/tasks/common" "ocl/portainer-devtool/utils" "strings" ) type ListRepositorySubTask struct { - Config *configs.Config + common.GeneralTask } func NewListRepositorySubTask(cfg *configs.Config) *ListRepositorySubTask { return &ListRepositorySubTask{ - Config: cfg, + GeneralTask: *common.NewGeneralTask(cfg), } } diff --git a/go/tasks/subtasks/list_volume.go b/go/tasks/subtasks/list_volume.go index 5eb6cf4..4a690f9 100644 --- a/go/tasks/subtasks/list_volume.go +++ b/go/tasks/subtasks/list_volume.go @@ -4,18 +4,19 @@ import ( "fmt" "io/fs" "ocl/portainer-devtool/configs" + "ocl/portainer-devtool/tasks/common" "ocl/portainer-devtool/utils" "path/filepath" "strings" ) type ListVolumeSubTask struct { - Config *configs.Config + common.GeneralTask } func NewListVolumeSubTask(cfg *configs.Config) *ListVolumeSubTask { return &ListVolumeSubTask{ - Config: cfg, + GeneralTask: *common.NewGeneralTask(cfg), } }