(cli *cli)
| 664 | } |
| 665 | |
| 666 | func listRolesOrganizationCmd(cli *cli) *cobra.Command { |
| 667 | var inputs struct { |
| 668 | OrgID string |
| 669 | Number int |
| 670 | } |
| 671 | |
| 672 | cmd := &cobra.Command{ |
| 673 | Use: "list", |
| 674 | Aliases: []string{"ls"}, |
| 675 | Args: cobra.MaximumNArgs(1), |
| 676 | Short: "List roles of an organization", |
| 677 | Long: "List roles assigned to members of an organization.", |
| 678 | Example: ` auth0 orgs roles list |
| 679 | auth0 orgs roles ls <org-id> |
| 680 | auth0 orgs roles list <org-id> --number 100 |
| 681 | auth0 orgs roles ls <org-id> -n 100 --json |
| 682 | auth0 orgs roles ls <org-id> -n 100 --json-compact |
| 683 | auth0 orgs roles ls <org-id> --csv`, |
| 684 | RunE: func(cmd *cobra.Command, args []string) error { |
| 685 | if inputs.Number < 1 || inputs.Number > 1000 { |
| 686 | return fmt.Errorf("number flag invalid, please pass a number between 1 and 1000") |
| 687 | } |
| 688 | |
| 689 | if len(args) == 0 { |
| 690 | if err := organizationID.Pick(cmd, &inputs.OrgID, cli.organizationPickerOptions); err != nil { |
| 691 | return err |
| 692 | } |
| 693 | } else { |
| 694 | inputs.OrgID = args[0] |
| 695 | } |
| 696 | members, err := cli.getOrgMembersWithSpinner(cmd.Context(), inputs.OrgID, inputs.Number) |
| 697 | if err != nil { |
| 698 | return err |
| 699 | } |
| 700 | |
| 701 | roleMap, err := cli.getOrgMemberRolesWithSpinner(cmd.Context(), inputs.OrgID, members) |
| 702 | if err != nil { |
| 703 | return err |
| 704 | } |
| 705 | |
| 706 | roles := cli.convertOrgRolesToManagementRoles(roleMap) |
| 707 | |
| 708 | cli.renderer.RoleList(roles) |
| 709 | |
| 710 | return nil |
| 711 | }, |
| 712 | } |
| 713 | |
| 714 | organizationNumber.Help = "Number of organization roles to retrieve. Minimum 1, maximum 1000." |
| 715 | organizationNumber.RegisterInt(cmd, &inputs.Number, defaultPageSize) |
| 716 | |
| 717 | cmd.Flags().BoolVar(&cli.json, "json", false, "Output in json format.") |
| 718 | cmd.Flags().BoolVar(&cli.jsonCompact, "json-compact", false, "Output in compact json format.") |
| 719 | cmd.Flags().BoolVar(&cli.csv, "csv", false, "Output in csv format.") |
| 720 | cmd.MarkFlagsMutuallyExclusive("json", "json-compact", "csv") |
| 721 | |
| 722 | return cmd |
| 723 | } |
no test coverage detected