MCPcopy Create free account
hub / github.com/auth0/auth0-cli / listRolesCmd

Function listRolesCmd

internal/cli/roles.go:61–121  ·  view source on GitHub ↗
(cli *cli)

Source from the content-addressed store, hash-verified

59}
60
61func listRolesCmd(cli *cli) *cobra.Command {
62 var inputs struct {
63 Number int
64 }
65
66 cmd := &cobra.Command{
67 Use: "list",
68 Aliases: []string{"ls"},
69 Args: cobra.NoArgs,
70 Short: "List your roles",
71 Long: "List your existing roles. To create one, run: `auth0 roles create`.",
72 Example: ` auth0 roles list
73 auth0 roles ls
74 auth0 roles ls --number 100
75 auth0 roles ls -n 100 --json
76 auth0 roles ls -n 100 --json-compact
77 auth0 roles ls --csv`,
78 RunE: func(cmd *cobra.Command, args []string) error {
79 if inputs.Number < 1 || inputs.Number > 1000 {
80 return fmt.Errorf("number flag invalid, please pass a number between 1 and 1000")
81 }
82
83 list, err := getWithPagination(
84 inputs.Number,
85 func(opts ...management.RequestOption) (result []interface{}, hasNext bool, err error) {
86 roleList, err := cli.api.Role.List(cmd.Context(), opts...)
87 if err != nil {
88 return nil, false, err
89 }
90
91 for _, role := range roleList.Roles {
92 result = append(result, role)
93 }
94
95 return result, roleList.HasNext(), nil
96 },
97 )
98 if err != nil {
99 return fmt.Errorf("failed to list roles: %w", err)
100 }
101
102 var roles []*management.Role
103 for _, item := range list {
104 roles = append(roles, item.(*management.Role))
105 }
106
107 cli.renderer.RoleList(roles)
108
109 return nil
110 },
111 }
112
113 cmd.Flags().BoolVar(&cli.json, "json", false, "Output in json format.")
114 cmd.Flags().BoolVar(&cli.jsonCompact, "json-compact", false, "Output in compact json format.")
115 cmd.Flags().BoolVar(&cli.csv, "csv", false, "Output in csv format.")
116 cmd.MarkFlagsMutuallyExclusive("json", "json-compact", "csv")
117
118 roleNumber.RegisterInt(cmd, &inputs.Number, defaultPageSize)

Callers 1

rolesCmdFunction · 0.85

Calls 5

getWithPaginationFunction · 0.85
ErrorfMethod · 0.80
RoleListMethod · 0.80
RegisterIntMethod · 0.80
ListMethod · 0.65

Tested by

no test coverage detected