MCPcopy Index your code
hub / github.com/cloudfoundry/cli / Execute

Method Execute

command/v7/set_org_role_command.go:21–72  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

19}
20
21func (cmd *SetOrgRoleCommand) Execute(args []string) error {
22 err := cmd.validateFlags()
23 if err != nil {
24 return err
25 }
26
27 err = cmd.SharedActor.CheckTarget(false, false)
28 if err != nil {
29 return err
30 }
31
32 currentUser, err := cmd.Actor.GetCurrentUser()
33 if err != nil {
34 return err
35 }
36
37 cmd.UI.DisplayTextWithFlavor("Assigning role {{.RoleType}} to user {{.TargetUserName}} in org {{.OrgName}} as {{.CurrentUserName}}...", map[string]interface{}{
38 "RoleType": cmd.Args.Role.Role,
39 "TargetUserName": cmd.Args.Username,
40 "OrgName": cmd.Args.Organization,
41 "CurrentUserName": currentUser.Name,
42 })
43
44 roleType, err := convertRoleType(cmd.Args.Role)
45 if err != nil {
46 return err
47 }
48
49 org, warnings, err := cmd.Actor.GetOrganizationByName(cmd.Args.Organization)
50 cmd.UI.DisplayWarnings(warnings)
51 if err != nil {
52 return err
53 }
54
55 warnings, err = cmd.Actor.CreateOrgRole(roleType, org.GUID, cmd.Args.Username, cmd.Origin, cmd.IsClient)
56 cmd.UI.DisplayWarnings(warnings)
57 if err != nil {
58 if _, ok := err.(ccerror.RoleAlreadyExistsError); ok {
59 cmd.UI.DisplayWarning("User '{{.TargetUserName}}' already has role '{{.RoleType}}' in org '{{.OrgName}}'.", map[string]interface{}{
60 "RoleType": cmd.Args.Role.Role,
61 "TargetUserName": cmd.Args.Username,
62 "OrgName": cmd.Args.Organization,
63 })
64 } else {
65 return err
66 }
67 }
68
69 cmd.UI.DisplayOK()
70
71 return nil
72}
73
74func (cmd SetOrgRoleCommand) validateFlags() error {
75 if cmd.IsClient && cmd.Origin != "" {

Callers

nothing calls this directly

Calls 10

validateFlagsMethod · 0.95
convertRoleTypeFunction · 0.85
CheckTargetMethod · 0.65
GetCurrentUserMethod · 0.65
DisplayTextWithFlavorMethod · 0.65
GetOrganizationByNameMethod · 0.65
DisplayWarningsMethod · 0.65
CreateOrgRoleMethod · 0.65
DisplayWarningMethod · 0.65
DisplayOKMethod · 0.65

Tested by

no test coverage detected