public UsersController( IRegisterInputHandler <IActionResult> registerInputHandler, IRegisterOutputHandler <IActionResult> registerOutputHandler, IAuthenticateInputHandler <IActionResult> authInputHandler, IAuthenticateOutputHandler <IActionResult> authOutputHandler, IDistributedCache cache) { _registerInputHandler = registerInputHandler; _registerOutputHandler = registerOutputHandler; _authInputHandler = authInputHandler; _authOutputHandler = authOutputHandler; _cache = cache; }
public async Task HandleAsync(RegisterUserInput input, IRegisterOutputHandler <T> output) { var(passwordHash, passwordSalt) = CreatePasswordHash(input.Password); var user = new User { FirstName = input.FirstName, LastName = input.LastName, Username = input.Username, Email = input.Email, PasswordHash = passwordHash, PasswordSalt = passwordSalt }; await _userRepository.CreateAsync(user); output.Success(new RegisterUserOutput(user.Id, user.Username, user.Email)); }
public RegisterUseCase(IRegisterOutputHandler outputHandler, IUserService userService) { _outputHandler = outputHandler; _userService = userService; }