public static async Task <UserRole> FindUserRoleAsync(this IUsersRolesRepository usersRoles, Guid userId, Guid roleId, CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); return(await usersRoles.ProcessFirstOrDefaultAsync( usersRoles.AsQueryable().Where(userRole => userRole.UserId == userId && userRole.RoleId == roleId), cancellationToken)); }
public UserStore(IUsersRepository <TUser> userRepository, IUserLoginsRepository userLoginsRepository, IUserClaimsRepository userClaimsRepository, IUsersRolesRepository usersRolesRepository, IRolesRepository rolesRepository) { this.usersRepository = userRepository; this.userLoginsRepository = userLoginsRepository; this.userClaimsRepository = userClaimsRepository; this.usersRolesRepository = usersRolesRepository; this.rolesRepository = rolesRepository; }
public static async Task <IReadOnlyCollection <Role> > GetRolesAsync(this IUsersRolesRepository usersRoles, Guid userId, IRolesRepository roles, CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); var roleIdCollection = (await usersRoles.ProcessQueryAsync(usersRoles.AsQueryable().Where(x => x.UserId == userId), cancellationToken)).Select(x => x.RoleId); return(await roles.ProcessQueryAsync(roles.AsQueryable().Where( role => roleIdCollection.Contains(role.Id)), cancellationToken)); }
public UserStore(IUsersRepository usersRepository, IUsersRolesRepository usersRolesRepository, IRolesRepository rolesRepository, IUsersClaimsRepository usersClaimsRepository, IUsersLoginsRepository usersLoginsRepository) { _usersRepository = usersRepository; _usersRolesRepository = usersRolesRepository; _rolesRepository = rolesRepository; _usersClaimsRepository = usersClaimsRepository; _usersLoginsRepository = usersLoginsRepository; }
public static async Task <bool> IsInRoleAsync(this IUsersRolesRepository usersRoles, Guid userId, string roleName, IRolesRepository roles, CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); var role = await roles.FindByNameAsync(roleName, false, cancellationToken); if (role is null) { return(false); } return(await usersRoles.FindUserRoleAsync(userId, role.Id, cancellationToken) is not null); }
public static async Task <IReadOnlyCollection <User> > GetUsersInRoleAsync(this IUsersRolesRepository usersRoles, string roleName, IRolesRepository roles, IUsersRepository users, CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); var role = await roles.FindByNameAsync(roleName, false, cancellationToken); var userIdCollection = (await usersRoles.ProcessQueryAsync(usersRoles.AsQueryable().Where(x => x.RoleId == role.Id), cancellationToken)).Select(x => x.UserId); return(await users.ProcessQueryAsync(users.AsQueryable().Where( user => userIdCollection.Contains(user.Id)), cancellationToken)); }
public UserStore(IUsersRepository usersRepository, IUsersRolesRepository usersRolesRepository, IRolesRepository rolesRepository, IUsersClaimsRepository usersClaimsRepository, IUsersLoginsRepository usersLoginsRepository, IMapper mapper) { _usersRepository = usersRepository; _usersRolesRepository = usersRolesRepository; _rolesRepository = rolesRepository; _usersClaimsRepository = usersClaimsRepository; _usersLoginsRepository = usersLoginsRepository; _mapper = mapper; }
public UserStore( IdentityErrorDescriber describer, IUsersRepository users, IRolesRepository roles, IUsersClaimsRepository usersClaims, IUsersLoginsRepository usersLogins, IUsersTokensRepository usersTokens, IUsersRolesRepository usersRoles ) : base(describer) { _users = users; _roles = roles; _usersClaims = usersClaims; _usersLogins = usersLogins; _usersTokens = usersTokens; _usersRoles = usersRoles; }
public UserStore(IUsersRepository <TUser> userRepository, IUserLoginsRepository userLoginsRepository, IUserClaimsRepository userClaimsRepository, IUsersRolesRepository usersRolesRepository, IRolesRepository rolesRepository) : base(userRepository, userLoginsRepository, userClaimsRepository, usersRolesRepository, rolesRepository) { }