MCPcopy
hub / github.com/cloudfoundry/cli / SetSpaceRoleByUsername

Method SetSpaceRoleByUsername

cf/api/users.go:306–328  ·  view source on GitHub ↗
(username, spaceGUID, orgGUID string, role models.Role)

Source from the content-addressed store, hash-verified

304}
305
306func (repo CloudControllerUserRepository) SetSpaceRoleByUsername(username, spaceGUID, orgGUID string, role models.Role) (apiErr error) {
307 rolePath, apiErr := repo.checkSpaceRole(spaceGUID, role)
308 if apiErr != nil {
309 return
310 }
311
312 setOrgRoleErr := apiErrResponse{}
313 apiErr = repo.assocUserWithOrgByUsername(username, orgGUID, &setOrgRoleErr)
314 if setOrgRoleErr.Code == 10003 {
315 // operator lacking the privilege to set org role
316 // user might already be in org, so ignoring error and attempt to set space role
317 } else if apiErr != nil {
318 return
319 }
320
321 setSpaceRoleErr := apiErrResponse{}
322 apiErr = repo.ccGateway.UpdateResourceSync(repo.config.APIEndpoint(), rolePath, usernamePayload(username), &setSpaceRoleErr)
323 if setSpaceRoleErr.Code == 1002 {
324 return errors.New(T("Server error, error code: 1002, message: cannot set space role because user is not part of the org"))
325 }
326
327 return apiErr
328}
329
330func (repo CloudControllerUserRepository) UnsetSpaceRoleByGUID(userGUID, spaceGUID string, role models.Role) error {
331 rolePath, found := spaceRoleToPathMap[role]

Callers

nothing calls this directly

Calls 6

checkSpaceRoleMethod · 0.95
NewFunction · 0.92
usernamePayloadFunction · 0.85
UpdateResourceSyncMethod · 0.80
APIEndpointMethod · 0.65

Tested by

no test coverage detected