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

Method Execute

command/v7/set_space_role_command.go:23–82  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 11

validateFlagsMethod · 0.95
convertSpaceRoleTypeFunction · 0.85
CheckTargetMethod · 0.65
GetCurrentUserMethod · 0.65
DisplayTextWithFlavorMethod · 0.65
GetOrganizationByNameMethod · 0.65
DisplayWarningsMethod · 0.65
CreateSpaceRoleMethod · 0.65
DisplayWarningMethod · 0.65
DisplayOKMethod · 0.65

Tested by

no test coverage detected