81 if (permissionSet.GroupId.HasValue)
83 if (permissionSet.UserId.HasValue)
122 .Where(user => user.Id ==
userId)
123 .Select(user => user.GroupId);
128 .Where(permissionSet => permissionSet.UserId ==
userId
130 .Select(permissionSet => permissionSet.Id!.Value)
142 if (permissionSet ==
null)
Base implementation of IAuthority.
Evaluates a set of IAuthorizationRequirements to be checked before executing a response.
PermissionSetAuthority(IDatabaseContext databaseContext, ILogger< AuthorityBase > logger, IPermissionSetsDataLoader permissionSetsDataLoader, IClaimsPrincipalAccessor claimsPrincipalAccessor)
Initializes a new instance of the PermissionSetAuthority class.
static async ValueTask< Dictionary<(long Id, PermissionSetLookupType LookupType), PermissionSet > > GetPermissionSets(IReadOnlyList<(long Id, PermissionSetLookupType LookupType)> ids, IDatabaseContext databaseContext, CancellationToken cancellationToken)
Implements permissionSetsDataLoader.
RequirementsGated< AuthorityResponse< PermissionSet > > GetId(long id, PermissionSetLookupType lookupType, CancellationToken cancellationToken)
Gets the User with a given id .A ValueTask<TResult> resulting in a PermissionSet AuthorityResponse<TR...
readonly IClaimsPrincipalAccessor claimsPrincipalAccessor
The IClaimsPrincipalAccessor for the PermissionSetAuthority.
readonly IPermissionSetsDataLoader permissionSetsDataLoader
The IPermissionSetsDataLoader for the PermissionSetAuthority.
Backend abstract implementation of IDatabaseContext.
DbSet< PermissionSet > PermissionSets
The PermissionSets in the DatabaseContext.
DbSet< User > Users
The Users in the DatabaseContext.
IAuthority for managing PermissionSets.
Interface for accessing the current request's ClaimsPrincipal.
ClaimsPrincipal User
Get the current ClaimsPrincipal.
@ List
User may list files if the Models.Instance allows it.
AdministrationRights
Administration rights for the server.
PermissionSetLookupType
Indicates the type of Api.Models.EntityId.Id to lookup on a Models.PermissionSet.
@ Id
Lookup the Api.Models.EntityId.Id of the Models.PermissionSet.