github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/cmd/state/internal/cmdtree/invite.go (about) 1 package cmdtree 2 3 import ( 4 "github.com/ActiveState/cli/internal/captain" 5 "github.com/ActiveState/cli/internal/locale" 6 "github.com/ActiveState/cli/internal/primer" 7 "github.com/ActiveState/cli/internal/runners/invite" 8 ) 9 10 func newInviteCommand(prime *primer.Values) *captain.Command { 11 inviteRunner := invite.New(prime) 12 13 params := invite.Params{} 14 15 cmd := captain.NewCommand( 16 "invite", 17 locale.Tl("invite_title", "Inviting New Members"), 18 locale.Tl("invite_description", "Invite new members to an organization"), 19 prime, 20 []*captain.Flag{ 21 { 22 Name: "organization", 23 Description: locale.Tl("invite_flag_organization_description", "Organization to invite to. If not set, invite to current project's organization"), 24 Value: ¶ms.Org, 25 }, 26 { 27 Name: "role", 28 Description: locale.Tl("invite_flag_role_description", "Set user role to 'member' or 'owner'. If not set, prompt for the role"), 29 Value: ¶ms.Role, 30 }, 31 }, 32 []*captain.Argument{ 33 { 34 Name: "email1[,email2,..]", 35 Description: locale.Tl("invite_arg_emails", "Email addresses to send the invitations to"), 36 Required: true, 37 Value: ¶ms.EmailList, 38 }, 39 }, 40 func(ccmd *captain.Command, args []string) error { 41 return inviteRunner.Run(¶ms, args) 42 }, 43 ) 44 cmd.SetGroup(PlatformGroup) 45 cmd.SetUnstable(true) 46 cmd.SetHasVariableArguments() 47 48 return cmd 49 }