(cli *cli)
| 191 | } |
| 192 | |
| 193 | func listOrganizationsCmd(cli *cli) *cobra.Command { |
| 194 | var inputs struct { |
| 195 | Number int |
| 196 | } |
| 197 | |
| 198 | cmd := &cobra.Command{ |
| 199 | Use: "list", |
| 200 | Aliases: []string{"ls"}, |
| 201 | Args: cobra.NoArgs, |
| 202 | Short: "List your organizations", |
| 203 | Long: "List your existing organizations. To create one, run: `auth0 orgs create`.", |
| 204 | Example: ` auth0 orgs list |
| 205 | auth0 orgs ls |
| 206 | auth0 orgs ls --json |
| 207 | auth0 orgs ls --json-compact |
| 208 | auth0 orgs ls --csv |
| 209 | auth0 orgs ls -n 100`, |
| 210 | RunE: func(cmd *cobra.Command, args []string) error { |
| 211 | if inputs.Number < 1 || inputs.Number > 1000 { |
| 212 | return fmt.Errorf("number flag invalid, please pass a number between 1 and 1000") |
| 213 | } |
| 214 | |
| 215 | list, err := getWithPagination( |
| 216 | inputs.Number, |
| 217 | func(opts ...management.RequestOption) (result []interface{}, hasNext bool, err error) { |
| 218 | res, err := cli.api.Organization.List(cmd.Context(), opts...) |
| 219 | if err != nil { |
| 220 | return nil, false, err |
| 221 | } |
| 222 | |
| 223 | for _, item := range res.Organizations { |
| 224 | result = append(result, item) |
| 225 | } |
| 226 | |
| 227 | return result, res.HasNext(), nil |
| 228 | }, |
| 229 | ) |
| 230 | if err != nil { |
| 231 | return fmt.Errorf("failed to list organizations: %w", err) |
| 232 | } |
| 233 | |
| 234 | var orgs []*management.Organization |
| 235 | for _, item := range list { |
| 236 | orgs = append(orgs, item.(*management.Organization)) |
| 237 | } |
| 238 | |
| 239 | cli.renderer.OrganizationList(orgs) |
| 240 | |
| 241 | return nil |
| 242 | }, |
| 243 | } |
| 244 | |
| 245 | cmd.Flags().BoolVar(&cli.json, "json", false, "Output in json format.") |
| 246 | cmd.Flags().BoolVar(&cli.jsonCompact, "json-compact", false, "Output in compact json format.") |
| 247 | cmd.Flags().BoolVar(&cli.csv, "csv", false, "Output in csv format.") |
| 248 | cmd.MarkFlagsMutuallyExclusive("json", "json-compact", "csv") |
| 249 | |
| 250 | organizationNumber.Help = "Number of organizations to retrieve. Minimum 1, maximum 1000." |
no test coverage detected