Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions docs/auth0_roles_permissions_add.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,16 @@ auth0 roles permissions add [flags]
auth0 roles permissions add <role-id> --api-id <api-id>
auth0 roles permissions add <role-id> --api-id <api-id> --permissions <permission-name>
auth0 roles permissions add <role-id> -a <api-id> -p <permission-name>
auth0 roles permissions add <role-id> --resource-server-identifier <api-id> --permissions <permission-name>
```


## Flags

```
-a, --api-id string API Identifier.
-p, --permissions strings Permissions.
-a, --api-id string API Identifier.
-p, --permissions strings Permissions.
--resource-server-identifier string API Identifier.
```


Expand Down
6 changes: 4 additions & 2 deletions docs/auth0_roles_permissions_remove.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,16 @@ auth0 roles permissions remove [flags]
auth0 roles permissions rm <role-id> --api-id <api-id>
auth0 roles permissions rm <role-id> --api-id <api-id> --permissions <permission-name>
auth0 roles permissions rm <role-id> -a <api-id> -p <permission-name>
auth0 roles permissions rm <role-id> --resource-server-identifier <api-id> --permissions <permission-name>
```


## Flags

```
-a, --api-id string API Identifier.
-p, --permissions strings Permissions.
-a, --api-id string API Identifier.
-p, --permissions strings Permissions.
--resource-server-identifier string API Identifier.
```


Expand Down
72 changes: 71 additions & 1 deletion internal/cli/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ type Flag struct {
Help string
IsRequired bool
AlwaysPrompt bool
AlsoKnownAs []string
}

func (f Flag) GetName() string {
Expand All @@ -36,7 +37,16 @@ func (f Flag) GetIsRequired() bool {
}

func (f *Flag) IsSet(cmd *cobra.Command) bool {
return cmd.Flags().Changed(f.LongForm)
if cmd.Flags().Changed(f.LongForm) {
return true
}
// Check if any alias is set.
for _, alias := range f.AlsoKnownAs {
if cmd.Flags().Changed(alias) {
return true
}
}
return false
}

func (f *Flag) Ask(cmd *cobra.Command, value interface{}, defaultValue *string) error {
Expand Down Expand Up @@ -254,6 +264,16 @@ func openEditorFlag(cmd *cobra.Command, f *Flag, value *string, defaultValue str
func registerString(cmd *cobra.Command, f *Flag, value *string, defaultValue string, isUpdate bool) {
cmd.Flags().StringVarP(value, f.LongForm, f.ShortForm, defaultValue, f.Help)

// Set up flag aliases if specified.
if len(f.AlsoKnownAs) > 0 {
flag := cmd.Flags().Lookup(f.LongForm)
if flag != nil {
for _, alias := range f.AlsoKnownAs {
cmd.Flags().StringVar(value, alias, defaultValue, f.Help)
}
}
}

if err := markFlagRequired(cmd, f, isUpdate); err != nil {
panic(auth0.Error(err, "failed to register string flag"))
}
Expand All @@ -262,6 +282,16 @@ func registerString(cmd *cobra.Command, f *Flag, value *string, defaultValue str
func registerStringSlice(cmd *cobra.Command, f *Flag, value *[]string, defaultValue []string, isUpdate bool) {
cmd.Flags().StringSliceVarP(value, f.LongForm, f.ShortForm, defaultValue, f.Help)

// Set up flag aliases if specified.
if len(f.AlsoKnownAs) > 0 {
flag := cmd.Flags().Lookup(f.LongForm)
if flag != nil {
for _, alias := range f.AlsoKnownAs {
cmd.Flags().StringSliceVar(value, alias, defaultValue, f.Help)
}
}
}

if err := markFlagRequired(cmd, f, isUpdate); err != nil {
panic(auth0.Error(err, "failed to register string slice flag"))
}
Expand All @@ -270,6 +300,16 @@ func registerStringSlice(cmd *cobra.Command, f *Flag, value *[]string, defaultVa
func registerStringMap(cmd *cobra.Command, f *Flag, value *map[string]string, defaultValue map[string]string, isUpdate bool) {
cmd.Flags().StringToStringVarP(value, f.LongForm, f.ShortForm, defaultValue, f.Help)

// Set up flag aliases if specified.
if len(f.AlsoKnownAs) > 0 {
flag := cmd.Flags().Lookup(f.LongForm)
if flag != nil {
for _, alias := range f.AlsoKnownAs {
cmd.Flags().StringToStringVar(value, alias, defaultValue, f.Help)
}
}
}

if err := markFlagRequired(cmd, f, isUpdate); err != nil {
panic(auth0.Error(err, "failed to register string map flag"))
}
Expand All @@ -278,6 +318,16 @@ func registerStringMap(cmd *cobra.Command, f *Flag, value *map[string]string, de
func registerInt(cmd *cobra.Command, f *Flag, value *int, defaultValue int, isUpdate bool) {
cmd.Flags().IntVarP(value, f.LongForm, f.ShortForm, defaultValue, f.Help)

// Set up flag aliases if specified.
if len(f.AlsoKnownAs) > 0 {
flag := cmd.Flags().Lookup(f.LongForm)
if flag != nil {
for _, alias := range f.AlsoKnownAs {
cmd.Flags().IntVar(value, alias, defaultValue, f.Help)
}
}
}

if err := markFlagRequired(cmd, f, isUpdate); err != nil {
panic(auth0.Error(err, "failed to register int flag"))
}
Expand All @@ -286,6 +336,16 @@ func registerInt(cmd *cobra.Command, f *Flag, value *int, defaultValue int, isUp
func registerIntSlice(cmd *cobra.Command, f *Flag, value *[]int, defaultValue []int, isUpdate bool) {
cmd.Flags().IntSliceVarP(value, f.LongForm, f.ShortForm, defaultValue, f.Help)

// Set up flag aliases if specified.
if len(f.AlsoKnownAs) > 0 {
flag := cmd.Flags().Lookup(f.LongForm)
if flag != nil {
for _, alias := range f.AlsoKnownAs {
cmd.Flags().IntSliceVar(value, alias, defaultValue, f.Help)
}
}
}

if err := markFlagRequired(cmd, f, isUpdate); err != nil {
panic(auth0.Error(err, "failed to register int slice flag"))
}
Expand Down Expand Up @@ -330,6 +390,16 @@ func askIntSlice(i commandInput, value *[]int, defaultValue *[]int) error {
func registerBool(cmd *cobra.Command, f *Flag, value *bool, defaultValue bool, isUpdate bool) {
cmd.Flags().BoolVarP(value, f.LongForm, f.ShortForm, defaultValue, f.Help)

// Set up flag aliases if specified.
if len(f.AlsoKnownAs) > 0 {
flag := cmd.Flags().Lookup(f.LongForm)
if flag != nil {
for _, alias := range f.AlsoKnownAs {
cmd.Flags().BoolVar(value, alias, defaultValue, f.Help)
}
}
}

if err := markFlagRequired(cmd, f, isUpdate); err != nil {
panic(auth0.Error(err, "failed to register bool flag"))
}
Expand Down
17 changes: 10 additions & 7 deletions internal/cli/roles_permissions.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,12 @@ import (

var (
roleAPIIdentifier = Flag{
Name: "API",
LongForm: "api-id",
ShortForm: "a",
Help: "API Identifier.",
IsRequired: true,
Name: "API",
LongForm: "api-id",
ShortForm: "a",
Help: "API Identifier.",
IsRequired: true,
AlsoKnownAs: []string{"resource-server-identifier"},
}

roleAPIPermissions = Flag{
Expand Down Expand Up @@ -138,7 +139,8 @@ func addRolePermissionsCmd(cli *cli) *cobra.Command {
auth0 roles permissions add <role-id>
auth0 roles permissions add <role-id> --api-id <api-id>
auth0 roles permissions add <role-id> --api-id <api-id> --permissions <permission-name>
auth0 roles permissions add <role-id> -a <api-id> -p <permission-name>`,
auth0 roles permissions add <role-id> -a <api-id> -p <permission-name>
auth0 roles permissions add <role-id> --resource-server-identifier <api-id> --permissions <permission-name>`,
RunE: func(cmd *cobra.Command, args []string) error {
if len(args) == 0 {
if err := roleID.Pick(cmd, &inputs.ID, cli.rolePickerOptions); err != nil {
Expand Down Expand Up @@ -203,7 +205,8 @@ func removeRolePermissionsCmd(cli *cli) *cobra.Command {
Example: ` auth0 roles permissions remove
auth0 roles permissions rm <role-id> --api-id <api-id>
auth0 roles permissions rm <role-id> --api-id <api-id> --permissions <permission-name>
auth0 roles permissions rm <role-id> -a <api-id> -p <permission-name>`,
auth0 roles permissions rm <role-id> -a <api-id> -p <permission-name>
auth0 roles permissions rm <role-id> --resource-server-identifier <api-id> --permissions <permission-name>`,
RunE: func(cmd *cobra.Command, args []string) error {
if len(args) == 0 {
if err := roleID.Pick(cmd, &inputs.ID, cli.rolePickerOptions); err != nil {
Expand Down
Loading