refactor: support to list repository menu from command menu
This commit is contained in:
		
							parent
							
								
									dfbd70b326
								
							
						
					
					
						commit
						f7b2fcb5bd
					
				@ -1,36 +0,0 @@
 | 
				
			|||||||
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"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										39
									
								
								go/tasks/list_repo_menus.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								go/tasks/list_repo_menus.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					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"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,34 +0,0 @@
 | 
				
			|||||||
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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user