package repositories import ( "fmt" "ocl/portainer-devtool/commands" "ocl/portainer-devtool/utils" ) const ( ACTION_EE_BUILD_ALL int = iota + 1 ACTION_EE_RUN_FRONTEND ACTION_EE_RUN_BACKEND ACTION_EE_VALIDATE_ALL ACTION_EE_VALIDATE_FRONTEND ACTION_EE_VALIDATE_BACKEND ACTION_EE_RUN_UNIT_TEST_ALL ACTION_EE_RUN_UNIT_TEST_FRONTEND ACTION_EE_RUN_UNIT_TEST_BACKEND ) type PortainerEE struct { WorkDir string FrontendDir string BackendDir string } func NewPortainerEERepository() *PortainerEE { repo := &PortainerEE{ WorkDir: "/home/oscarzhou/source/github.com/portainer/portainer-ee", } utils.HighlightPrint("Your portainer EE repository work directory is ") fmt.Println(repo.WorkDir) return repo } func (repo *PortainerEE) Execute() error { err := commands.ListBranches(repo.WorkDir) if err != nil { return err } if !utils.PromptContinue() { return nil } option := utils.PromptMenu(repo.listSubMenu) switch option { case ACTION_EE_BUILD_ALL: case ACTION_EE_RUN_FRONTEND: commands.RunPortainerClient(repo.WorkDir) } return nil } func (repo *PortainerEE) listSubMenu() { utils.MenuPrint("Do you want?", ` 1. Build both front-end and backend 2. Run front-end only 3. Run backend only 4. Validate both fornt-end and backend before commit 5. Validate front-end only before commit 6. Validate backend only before commit 7. Run unit tests for both front-end and backend 8. Run unit tests for front-end only 9. Run unit tests for backend only`) }