fix: ensure all report subcommands exit 0 when there is no app

Closes #7454
This commit is contained in:
Jose Diaz-Gonzalez
2025-02-02 01:37:14 -05:00
parent 8e88a3b54a
commit e1af6ad1f9
17 changed files with 128 additions and 6 deletions

View File

@@ -336,7 +336,7 @@ func UnfilteredDokkuApps() ([]string, error) {
dokkuRoot := MustGetEnv("DOKKU_ROOT")
files, err := os.ReadDir(dokkuRoot)
if err != nil {
return apps, fmt.Errorf("You haven't deployed any applications yet")
return apps, NoAppsExist
}
for _, f := range files {
@@ -351,7 +351,7 @@ func UnfilteredDokkuApps() ([]string, error) {
}
if len(apps) == 0 {
return apps, fmt.Errorf("You haven't deployed any applications yet")
return apps, NoAppsExist
}
return apps, nil
@@ -653,6 +653,11 @@ func (err *AppDoesNotExist) Error() string {
return fmt.Sprintf("App %s does not exist", err.appName)
}
// NoAppsExist wraps error to include the app name
// and is used to distinguish between a normal error and an error
// where the app is missing
var NoAppsExist = errors.New("You haven't deployed any applications yet")
// VarArgs skips a number of incoming arguments, returning what is left over
func VarArgs(arguments []string, skip int) []string {
if len(arguments) <= skip {

View File

@@ -1,7 +1,6 @@
package common
import (
"fmt"
"os"
"strings"
)
@@ -33,7 +32,7 @@ func filterApps(apps []string) ([]string, error) {
filteredApps = removeEmptyEntries(filteredApps)
if len(filteredApps) == 0 {
return filteredApps, fmt.Errorf("You haven't deployed any applications yet")
return filteredApps, NoAppsExist
}
return filteredApps, nil