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));
 }
Ejemplo n.º 2
0
 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));
        }
Ejemplo n.º 4
0
 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));
        }
Ejemplo n.º 7
0
 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;
 }
Ejemplo n.º 8
0
 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;
 }
Ejemplo n.º 9
0
 public UserStore(IUsersRepository <TUser> userRepository, IUserLoginsRepository userLoginsRepository,
                  IUserClaimsRepository userClaimsRepository, IUsersRolesRepository usersRolesRepository,
                  IRolesRepository rolesRepository)
     : base(userRepository, userLoginsRepository, userClaimsRepository, usersRolesRepository, rolesRepository)
 {
 }