public async Task <IActionResult> ChangeFirstName([FromRoute] string username, [FromBody] ClientChangeFirstNameRequest request) { if (string.IsNullOrEmpty(request.NewFirstName)) { return(BadRequest("Request model is not correct")); } var userRole = HttpContext.User.Claims.FirstOrDefault(x => x.Type == "Role").Value.ToString(); var userNameFromJwt = HttpContext.User.Claims.FirstOrDefault(x => x.Type == "UserName").Value.ToString(); if (request.NewFirstName.Length < 2) { return(BadRequest("Length should be more then 1 chars")); } if (userRole == "admin" || userNameFromJwt == username) { var changeResponse = await _clientDataService.ChangeFirstNameAsync(username, request.NewFirstName); if (!changeResponse.Success) { return(BadRequest(changeResponse.ErrorsMessages)); } return(Ok("First name was successfully change")); } else { return(Forbid()); } }