public async Task Register()

in src/Services/User/User.API/Controllers/AccountController.cs [60:97]


        public async Task<IActionResult> Register([FromBody] RegisterRequest registerForm, CancellationToken cancellationToken)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(Result.Failure(ModelState.ToInnerErrors()));
            }

            (Result createResult, var userToken) = await identityService.CreateUserAsync(registerForm.UserToken,
                                                       registerForm.Username,
                                                       registerForm.Password);

            if (!createResult.Succeeded)
            {
                return createResult.Status == ResultStatus.Validation
                           ? BadRequest(createResult)
                           : InternalServerError(createResult);
            }

            try
            {
                userStateService.RegisterUser(registerForm.UserToken, registerForm.Username);
            }
            catch (Exception ex)
            {
                Result deleteResult = await identityService.DeleteUserAsync(userToken);

                return InternalServerError(
                    Result.Failure(deleteResult.Errors.Append(new InnerError(ErrorTarget.UserStateFailure, ex.Message))));
            }

            (Result tokenResult, Token tokens) = await identityService.PostRegisterLoginAsync(registerForm.Username,
                                                     registerForm.Password,
                                                     cancellationToken);

            return tokenResult.Succeeded
                       ? Ok(tokens)
                       : InternalServerError(tokenResult);
        }