public async Task <IActionResult> CreateAsync([FromBody] CreateUserRequest request) { logger.LogInformation($"Create user request: {JsonConvert.SerializeObject(request)}"); if (!User.HasClaim(AuthConsts.Claims.Types.UserId, request.Id.ToString())) { logger.LogInformation($"You have no access to {request.Id}"); return(StatusCode(403, $"You have no access to {request.Id}")); } var createResult = await userStorage.CreateOrUpdateAsync(request.ToUser()).ConfigureAwait(false); var user = createResult.Value; return(createResult.IsFailed ? StatusCode(500, createResult.Errors.First().Message) : Created(nameof(GetAsync), user)); }