11package application
22
33import (
4- "slices"
5-
64 pluginsCommon "github.com/jfrog/jfrog-cli-core/v2/plugins/common"
75
86 "github.com/jfrog/jfrog-cli-application/application/commands/utils"
@@ -11,7 +9,6 @@ import (
119 commonCLiCommands "github.com/jfrog/jfrog-cli-core/v2/common/commands"
1210 "github.com/jfrog/jfrog-cli-core/v2/plugins/components"
1311 coreConfig "github.com/jfrog/jfrog-cli-core/v2/utils/config"
14- "github.com/jfrog/jfrog-cli-core/v2/utils/coreutils"
1512 "github.com/jfrog/jfrog-client-go/utils/errorutils"
1613
1714 "github.com/jfrog/jfrog-cli-application/application/app"
@@ -56,20 +53,24 @@ func (cac *createAppCommand) buildRequestPayload(ctx *components.Context) (*mode
5653 return nil , errorutils .CheckErrorf ("--%s is mandatory" , commands .ProjectFlag )
5754 }
5855
59- businessCriticality := ctx .GetStringFlagValue (commands .BusinessCriticalityFlag )
60- if businessCriticality == "" {
61- // Default to "unspecified" if not provided
62- businessCriticality = model .BusinessCriticalityUnspecified
63- } else if ! slices .Contains (model .BusinessCriticalityValues , businessCriticality ) {
64- return nil , errorutils .CheckErrorf ("invalid value for --%s: '%s'. Allowed values: %s" , commands .BusinessCriticalityFlag , businessCriticality , coreutils .ListToText (model .BusinessCriticalityValues ))
56+ businessCriticalityStr := ctx .GetStringFlagValue (commands .BusinessCriticalityFlag )
57+ businessCriticality , err := utils .ValidateEnumFlag (
58+ commands .BusinessCriticalityFlag ,
59+ businessCriticalityStr ,
60+ model .BusinessCriticalityUnspecified ,
61+ model .BusinessCriticalityValues )
62+ if err != nil {
63+ return nil , err
6564 }
6665
67- maturityLevel := ctx .GetStringFlagValue (commands .MaturityLevelFlag )
68- if maturityLevel == "" {
69- // Default to "unspecified" if not provided
70- maturityLevel = model .MaturityLevelUnspecified
71- } else if ! slices .Contains (model .MaturityLevelValues , maturityLevel ) {
72- return nil , errorutils .CheckErrorf ("invalid value for --%s: '%s'. Allowed values: %s" , commands .MaturityLevelFlag , maturityLevel , coreutils .ListToText (model .MaturityLevelValues ))
66+ maturityLevelStr := ctx .GetStringFlagValue (commands .MaturityLevelFlag )
67+ maturityLevel , err := utils .ValidateEnumFlag (
68+ commands .MaturityLevelFlag ,
69+ maturityLevelStr ,
70+ model .MaturityLevelUnspecified ,
71+ model .MaturityLevelValues )
72+ if err != nil {
73+ return nil , err
7374 }
7475
7576 description := ctx .GetStringFlagValue (commands .DescriptionFlag )
0 commit comments