/// <summary> /// Maps the update user API dto to user. /// </summary> /// <returns>The update user API dto to user.</returns> /// <param name="userApiDto">User API dto.</param> /// <param name="user">User.</param> public User MapUpdateUserApiDtoToUser(UserApiDto userApiDto, User user) { user.Description = userApiDto.Description; user.Email = userApiDto.Email; user.FirstName = userApiDto.FirstName; user.LastName = userApiDto.LastName; user.IsOwner = userApiDto.IsOwner; user.IsRoomer = userApiDto.IsRoomer; user.IsAdmin = userApiDto.IsAdmin; user.PhoneNumber = userApiDto.PhoneNumber; user.City = userApiDto.City; user.PostalCode = userApiDto.PostalCode; user.Token = userApiDto.Token; user.TokenExpirationDate = userApiDto.TokenExpirationDate; return(user); }
/// <summary> /// Updates the user async. /// </summary> /// <returns>The user async.</returns> /// <param name="userApiDto">User API dto.</param> /// <param name="token">Token.</param> public async Task <UserApiDto> UpdateUserAsync(UserApiDto userApiDto, string token) { var isValid = await _authenticationService.CheckIfTokenIsValidAsync(userApiDto.Token, userApiDto.UserId); var user = await _dal.GetUserAsyncByToken(token); if (user.IsAdmin == 1 || isValid) { var userUpdatedApiDto = await _dal.UpdateUserAsync(userApiDto); if (userUpdatedApiDto != null) { return(userUpdatedApiDto); } return(null); } return(null); }
public async Task <IActionResult> Put([FromBody] UserApiDto userApiDto) { //Get header token if (Request.Headers.TryGetValue("Authorization", out StringValues headerValues) && userApiDto != null) { var token = _customEncoder.DecodeBearerAuth(headerValues.First()); if (token != null) { var userApiDtoUpdated = await _userService.UpdateUserAsync(userApiDto, token); if (userApiDtoUpdated != null) { return(Ok(userApiDtoUpdated)); } return(StatusCode(404)); } return(StatusCode(403)); } return(StatusCode(401)); }