public async Task <ActionResult <RegisterResponseModel> > AddClaim([FromBody] ClaimRequestModel request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(GetErrors()));
            }
            var(user, success) = await _identityService.AddClaim(request);

            if (!success)
            {
                return(BadRequest("Failed to add claim"));
            }
            return(Ok(user));
        }
        public async Task <(RegisterResponseModel, bool)> RemoveClaim(ClaimRequestModel claimRequest)
        {
            // Attempt to add
            var(account, success) = await _accountService.RemoveClaim(claimRequest);

            // convert to response model if success, and return
            var ret = success
                ? new RegisterResponseModel {
                Name = account.Name, Email = account.Email, Id = account.Guid, Claims = account.Claims
            }
                : null;

            return(ret, success);
        }
Ejemplo n.º 3
0
        public async Task <(AccountResponseModel, bool)> RemoveClaim(ClaimRequestModel claimRequest)
        {
            var user = await _userManager.FindByEmailAsync(claimRequest.Email);

            if (user == null)
            {
                return(null, false);
            }
            // Generate JWT Claims
            var result = await _userManager.RemoveClaimAsync(user, new Claim(claimRequest.Type, claimRequest.Value));

            if (!result.Succeeded)
            {
                return(null, false);
            }
            var claims = await _userManager.GetClaimsAsync(user);

            return(ToResponseModel(user, claims), true);
        }
        public async Task <ActionResult <IEnumerable <RegisterResponseModel> > > GetUsersByClaim(string claimType, string claimValue)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(GetErrors()));
            }
            var request = new ClaimRequestModel
            {
                Type  = claimType,
                Value = claimValue
            };

            var(users, success) = await _identityService.GetUsersByClaim(request);

            if (!success)
            {
                return(BadRequest("Failed to get users"));
            }
            return(Ok(users));
        }
Ejemplo n.º 5
0
        public Claim Claim(ClaimRequestModel claimRequestModel)
        {
            var response = this.mediatr.Send(new ClaimRequest(claimRequestModel));

            return(response.Result);
        }
Ejemplo n.º 6
0
        public async Task <(IEnumerable <AccountResponseModel>, bool)> GetUsersByClaim(ClaimRequestModel claimRequest)
        {
            // return users
            var users = await _userManager.GetUsersForClaimAsync(new Claim(claimRequest.Type, claimRequest.Value));

            var withClaims = users.Select(async user => ToResponseModel(user, await _userManager.GetClaimsAsync(user)));
            var accounts   = await Task.WhenAll(withClaims);

            return(accounts, true);
        }
        public async Task <(IEnumerable <RegisterResponseModel>, bool)> GetUsersByClaim(ClaimRequestModel claimRequest)
        {
            // Attempt to get users
            var(users, success) = await _accountService.GetUsersByClaim(claimRequest);

            // convert to response model if success, and return
            var ret = success
                ? users
                      .Select(user => new RegisterResponseModel
            {
                Name = user.Name, Email = user.Email, Id = user.Guid, Claims = user.Claims
            })
                : null;

            return(ret, success);
        }