Merge pull request #8795 from dokku/8792-add-format-json-support-to-apps-list
Add --format json support to apps:list
This commit is contained in:
@@ -23,7 +23,7 @@ Additional commands:`
|
||||
apps:create <app>, Create a new app
|
||||
apps:destroy <app>, Permanently destroy an app
|
||||
apps:exists <app>, Checks if an app exists
|
||||
apps:list, List your apps
|
||||
apps:list [--format stdout|json], List your apps
|
||||
apps:lock <app>, Locks an app for deployment
|
||||
apps:locked <app>, Checks if an app is locked for deployment
|
||||
apps:rename <old-app> <new-app>, Rename an app
|
||||
@@ -43,7 +43,7 @@ func main() {
|
||||
args.Usage = usage
|
||||
args.Parse(os.Args[2:])
|
||||
|
||||
if err := apps.CommandList(); err != nil {
|
||||
if err := apps.CommandList("stdout"); err != nil {
|
||||
common.LogFailWithError(err)
|
||||
}
|
||||
case "apps:help":
|
||||
|
||||
@@ -44,8 +44,9 @@ func main() {
|
||||
err = apps.CommandExists(appName)
|
||||
case "list":
|
||||
args := flag.NewFlagSet("apps:list", flag.ExitOnError)
|
||||
format := args.String("format", "stdout", "format: [ stdout | json ]")
|
||||
args.Parse(os.Args[2:])
|
||||
err = apps.CommandList()
|
||||
err = apps.CommandList(*format)
|
||||
case "lock":
|
||||
args := flag.NewFlagSet("apps:lock", flag.ExitOnError)
|
||||
args.Parse(os.Args[2:])
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package apps
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
@@ -98,9 +99,26 @@ func CommandExists(appName string) error {
|
||||
}
|
||||
|
||||
// CommandList lists all apps
|
||||
func CommandList() error {
|
||||
common.LogInfo2Quiet("My Apps")
|
||||
func CommandList(format string) error {
|
||||
apps, err := common.DokkuApps()
|
||||
|
||||
if format == "json" {
|
||||
if err != nil && !errors.Is(err, common.NoAppsExist) {
|
||||
return err
|
||||
}
|
||||
|
||||
appList := []string{}
|
||||
appList = append(appList, apps...)
|
||||
out, err := json.Marshal(appList)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
common.Log(string(out))
|
||||
return nil
|
||||
}
|
||||
|
||||
common.LogInfo2Quiet("My Apps")
|
||||
if err != nil {
|
||||
common.LogWarn(err.Error())
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user