40 lines
989 B
Go
40 lines
989 B
Go
|
package tasks
|
||
|
|
||
|
import (
|
||
|
"ocl/portainer-devtool/configs"
|
||
|
"ocl/portainer-devtool/repositories/agent"
|
||
|
portaineree "ocl/portainer-devtool/repositories/portainer-ee"
|
||
|
"ocl/portainer-devtool/repositories/unpacker"
|
||
|
"ocl/portainer-devtool/tasks/common"
|
||
|
)
|
||
|
|
||
|
type ListRepositoryMenuTask struct {
|
||
|
common.GeneralTask
|
||
|
}
|
||
|
|
||
|
func NewListRepositoryMenuTask(cfg *configs.Config) *ListRepositoryMenuTask {
|
||
|
return &ListRepositoryMenuTask{
|
||
|
GeneralTask: *common.NewGeneralTask(cfg),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (task *ListRepositoryMenuTask) Execute() error {
|
||
|
subTaskItems := []common.Tasker{
|
||
|
portaineree.NewMenuSubTask(task.Config),
|
||
|
agent.NewMenuSubTask(task.Config),
|
||
|
unpacker.NewMenuSubTask(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 *ListRepositoryMenuTask) String() string {
|
||
|
return "Choose Repositories"
|
||
|
}
|