CHANNEL ACCESS:
()
| 580 | // ////// CHANNEL ACCESS: |
| 581 | |
| 582 | func (user *userImpl) GetRoles() ([]Role, error) { |
| 583 | if user.roles == nil { |
| 584 | roles := make([]Role, 0, len(user.RoleNames())) |
| 585 | deletedRoles := make([]Role, 0) |
| 586 | for name := range user.RoleNames() { |
| 587 | role, err := user.auth.GetRoleIncDeleted(name) |
| 588 | if err != nil { |
| 589 | return nil, base.RedactErrorf("Error getting user role %q: %w", base.UD(name), err) |
| 590 | } else if role != nil { |
| 591 | if role.IsDeleted() { |
| 592 | deletedRoles = append(deletedRoles, role) |
| 593 | } else { |
| 594 | roles = append(roles, role) |
| 595 | } |
| 596 | } |
| 597 | } |
| 598 | user.roles = roles |
| 599 | user.deletedRoles = deletedRoles |
| 600 | } |
| 601 | return user.roles, nil |
| 602 | } |
| 603 | |
| 604 | func (user *userImpl) GetRolesIncDeleted() ([]Role, error) { |
| 605 | // Use GetRoles to retrieve active roles (will fetch roles if needed) |
no test coverage detected