feat: implemented type & servers flags in `app ls`
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Roxie Gibson 2021-07-20 13:00:03 +01:00
parent 635c6d6080
commit 16514b3151
Signed by untrusted user: roxxers
GPG Key ID: 5D0140EDEE123F4D
2 changed files with 16 additions and 8 deletions

View File

@ -53,10 +53,10 @@ var appListCommand = &cli.Command{
Aliases: []string{"ls"}, Aliases: []string{"ls"},
Flags: []cli.Flag{StatusFlag, ServerFlag, TypeFlag}, Flags: []cli.Flag{StatusFlag, ServerFlag, TypeFlag},
Action: func(c *cli.Context) error { Action: func(c *cli.Context) error {
// FIXME: Needs to use flags // FIXME: Needs status flag implementing
// TODO: Sorting of output to make servers in alphabetical // TODO: Sorting of output to make servers in alphabetical
// Looks like sorting a 2d slice of strings might be messy though // Looks like sorting a 2d slice of strings might be messy though
apps, err := config.LoadAppFiles() apps, err := config.LoadAppFiles(Server)
if err != nil { if err != nil {
logrus.Fatal(err) logrus.Fatal(err)
} }
@ -67,8 +67,12 @@ var appListCommand = &cli.Command{
if err != nil { if err != nil {
logrus.Fatal(err.Error()) logrus.Fatal(err.Error())
} }
tableRow := []string{name, app.Type, appFile.Server} if app.Type == Type || Type == "" {
table.Append(tableRow) // If type flag is set, check for it, if not, Type == ""
tableRow := []string{name, app.Type, appFile.Server}
table.Append(tableRow)
}
} }
table.Render() table.Render()
return nil return nil

View File

@ -34,11 +34,15 @@ type AppFile struct {
type AppFiles = map[AppName]AppFile type AppFiles = map[AppName]AppFile
func LoadAppFiles() (AppFiles, error) { func LoadAppFiles(servers ...string) (AppFiles, error) {
appFiles := make(AppFiles) appFiles := make(AppFiles)
servers, err := getAllFoldersInDirectory(ABRA_SERVER_FOLDER) if len(servers) == 1 && servers[0] == "" {
if err != nil { // Empty servers flag, one string will always be passed
return nil, err var err error
servers, err = getAllFoldersInDirectory(ABRA_SERVER_FOLDER)
if err != nil {
return nil, err
}
} }
for _, server := range servers { for _, server := range servers {
serverDir := path.Join(ABRA_SERVER_FOLDER, server) serverDir := path.Join(ABRA_SERVER_FOLDER, server)