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); }
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)); }
public Claim Claim(ClaimRequestModel claimRequestModel) { var response = this.mediatr.Send(new ClaimRequest(claimRequestModel)); return(response.Result); }
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); }