public async Task <JWTAuthResult> Handle(CreateUserCommand request, CancellationToken cancellationToken) { var user = new UserDO { Login = request.Login, Name = request.Name, Password = _hashService.GetPasswordHash(request.Password, out byte[] salt), MealPreference = new MealPreferenceDO { Allergens = request.Allergens ?? new List <string>(), Cousines = new List <string>() }, MoviePreference = new MoviePreferenceDO { Ratings = request.Movies ?? new Dictionary <string, double>(), MovieGenres = new List <string>() }, AvailableDates = new List <DateTime>(), GroupIDs = new List <string>(), Salt = salt, }; await _userRepository.AddUserAsync(user); var authResult = _jWTService.GenerateTokens(user); authResult.User = _mapper.Map <UserDO, UserDto>(user); authResult.User.MoviePreference.Movies = await GetMovies(authResult.User.MoviePreference.Ratings); return(authResult); }
public async Task <JWTAuthResult> Handle(LoginCommand request, CancellationToken cancellationToken) { UserDO user = await GetUserByCredentials(request); if (user != null) { var result = _jWTService.GenerateTokens(user); result.User = _mapper.Map <UserDO, UserDto>(user); result.User.MoviePreference.Movies = await GetMovies(result.User.MoviePreference.Ratings); return(result); } throw new AuthenticationException(); }