public async Task <IActionResult> ChangeAccount(AccountChangeRequest accountChangeRequest) { Guid userId = _claimsService.GetGuidClaim(HttpContext.User, EClaimTypes.UserId).Value; await _authService.ChangeAccount(userId, accountChangeRequest); return(Ok()); }
public IActionResult CreateRequest([FromBody] AccountChangeRequest request) { var requestModel = request.ToAccountRequestModel(); var accountRequest = _accountRequestController.Create(requestModel); if (request != null) { var metadata = accountRequest.ToMetadata(); return(new ObjectResult(metadata)); } throw new Exception("Unable to create request"); }
public async Task ChangeAccount(Guid userId, AccountChangeRequest accountChangeRequest) { ApplicationUser user = await _userManager.FindByIdAsync(userId.ToString()); user.UserName = accountChangeRequest.Username; user.Email = accountChangeRequest.Email; await _userManager.UpdateAsync(user); await _userManager.UpdateNormalizedEmailAsync(user); await _userManager.UpdateNormalizedUserNameAsync(user); }
public static AccountRequest ToAccountRequestModel(this AccountChangeRequest accountContract) { var metadata = new Metadata(accountContract.Metadata.ToString()); return(new AccountRequest() { PlayerId = metadata.PlayerId, Username = metadata.Username, MemberType = metadata.MemberType, Region = metadata.Region, Reason = metadata.Reason }); }
public void SetValidatorRequestAprroval([FromBody] AccountChangeRequest request, [FromRoute] bool accept) { var requestModel = request.ToAccountRequestModel(); var accountRequest = _accountRequestController.Get(requestModel.PlayerId, requestModel.Region); if (accountRequest != null) { if (accept) { _accountRequestController.Update(requestModel.Region, requestModel); } _accountRequestController.Delete(accountRequest.Id); return; } throw new Exception($"No Request found for playerId {requestModel.PlayerId} and region {requestModel.Region}"); }
public async Task <ContentResult> Change([FromBody] AccountChangeRequest request) { PasswordHasher <Chatterer> pHasher = new PasswordHasher <Chatterer>(); var user = await _userMgr.GetUserAsync(User); string ret; try { if ((await _signMgr.CheckPasswordSignInAsync(user, request.Password, false)).Succeeded != true) { ret = "wrong_password"; } else if (request.NewName == null && request.NewPassword == null) { ret = "no_change_requested"; } else { if (request.NewName != null && !StaticData.IsNameValid(request.NewName)) { ret = "invalid_name"; } else { if (request.NewName != null && request.NewName != user.UserName && request.NewPassword != null && request.NewPassword != request.Password) { if (request.NewName.Equals(user.UserName, StringComparison.OrdinalIgnoreCase)) { user.UserName = request.NewName; user.PasswordHash = pHasher.HashPassword(user, request.Password); await _groupsDb.SaveChangesAsync(); ret = "name&pass_changed"; } else { if ((await _userMgr.FindByNameAsync(request.NewName)) != null) { ret = "name_exists"; } else { user.UserName = request.NewName; user.PasswordHash = pHasher.HashPassword(user, request.Password); await _groupsDb.SaveChangesAsync(); ret = "name&pass_changed"; } } } else if (request.NewName != null && request.NewName != user.UserName) { if (request.NewName.Equals(user.UserName, StringComparison.OrdinalIgnoreCase)) { user.UserName = request.NewName; await _groupsDb.SaveChangesAsync(); ret = "name_changed"; } else { if ((await _userMgr.FindByNameAsync(request.NewName)) != null) { ret = "name_exists"; } else { user.UserName = request.NewName; await _groupsDb.SaveChangesAsync(); ret = "name_changed"; } } } else if (request.NewPassword != null && request.NewPassword != request.Password) { user.PasswordHash = pHasher.HashPassword(user, request.Password); await _groupsDb.SaveChangesAsync(); ret = "pass_changed"; } else { ret = "same_credentials"; } } } } catch (Exception e) { ret = e.Message; } return(Content(ret, "text/plain")); }