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

Function createInvitationOrganizationCmd

internal/cli/organizations.go:1185–1280  ·  view source on GitHub ↗
(cli *cli)

Source from the content-addressed store, hash-verified

1183}
1184
1185func createInvitationOrganizationCmd(cli *cli) *cobra.Command {
1186 var inputs struct {
1187 OrgID string
1188 InviterName string
1189 InviteeEmail string
1190 ClientID string
1191 ConnectionID string
1192 TTLSeconds int
1193 SendInvitationEmail bool
1194 Roles []string
1195 AppMetadata string
1196 UserMetadata string
1197 }
1198
1199 cmd := &cobra.Command{
1200 Use: "create",
1201 Args: cobra.NoArgs,
1202 Short: "Create a new invitation to an organization",
1203 Long: "Create a new invitation to an organization with required and optional parameters.\n\n" +
1204 "To create interactively, use `auth0 orgs invs create` with no flags and answer the prompts.\n\n" +
1205 "To create non-interactively, supply the organization id and the other parameters through flags.",
1206 Example: ` auth0 orgs invs create
1207 auth0 orgs invs create --org-id <org-id>
1208 auth0 orgs invs create --org-id <org-id> --inviter-name "Inviter Name" --invitee-email "invitee@example.com"
1209 auth0 orgs invs create --org-id <org-id> --invitee-email "invitee@example.com" --client-id "client_id"
1210 auth0 orgs invs create --org-id <org-id> -n "Inviter Name" -e "invitee@example.com" --client-id "client_id" --connection-id "connection_id" -t 86400
1211 auth0 orgs invs create --org-id <org-id> --json --send-email=false --inviter-name "Inviter Name"`,
1212 RunE: func(cmd *cobra.Command, args []string) error {
1213 if err := organizationIDFlag.Pick(cmd, &inputs.OrgID, cli.organizationPickerOptions); err != nil {
1214 return err
1215 }
1216 if err := clientID.Pick(cmd, &inputs.ClientID, cli.appPickerOptions()); err != nil {
1217 return err
1218 }
1219 if err := inviterName.Ask(cmd, &inputs.InviterName, nil); err != nil {
1220 return err
1221 }
1222 if err := inviteeEmail.Ask(cmd, &inputs.InviteeEmail, nil); err != nil {
1223 return err
1224 }
1225
1226 invitation := &management.OrganizationInvitation{
1227 Inviter: &management.OrganizationInvitationInviter{Name: &inputs.InviterName},
1228 Invitee: &management.OrganizationInvitationInvitee{Email: &inputs.InviteeEmail},
1229 ClientID: &inputs.ClientID,
1230 TTLSec: &inputs.TTLSeconds,
1231 SendInvitationEmail: &inputs.SendInvitationEmail,
1232 }
1233 if inputs.ConnectionID != "" {
1234 invitation.ConnectionID = &inputs.ConnectionID
1235 }
1236 if inputs.AppMetadata != "" {
1237 var metadata map[string]interface{}
1238 if err := json.Unmarshal([]byte(inputs.AppMetadata), &metadata); err != nil {
1239 return fmt.Errorf("invalid JSON for app metadata: %w", err)
1240 }
1241 invitation.AppMetadata = metadata
1242 }

Callers 1

Calls 11

WaitingFunction · 0.92
appPickerOptionsMethod · 0.80
ErrorfMethod · 0.80
InvitationsCreateMethod · 0.80
RegisterStringMethod · 0.80
RegisterIntMethod · 0.80
RegisterBoolMethod · 0.80
RegisterStringSliceMethod · 0.80
CreateInvitationMethod · 0.65
PickMethod · 0.45
AskMethod · 0.45

Tested by

no test coverage detected