MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / GetRoles

Method GetRoles

auth/user.go:582–602  ·  view source on GitHub ↗

CHANNEL ACCESS:

()

Source from the content-addressed store, hash-verified

580// ////// CHANNEL ACCESS:
581
582func (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
604func (user *userImpl) GetRolesIncDeleted() ([]Role, error) {
605 // Use GetRoles to retrieve active roles (will fetch roles if needed)

Callers 10

GetRolesIncDeletedMethod · 0.95
InitializeRolesMethod · 0.95
canSeeChannelMethod · 0.95
canSeeChannelSinceMethod · 0.95
inheritedChannelsMethod · 0.95

Calls 5

RoleNamesMethod · 0.95
RedactErrorfFunction · 0.92
UDFunction · 0.92
GetRoleIncDeletedMethod · 0.80
IsDeletedMethod · 0.65

Tested by

no test coverage detected