public ActionResult <LoginResult> Login(LoginDTO login)
        {
            try
            {
                var user = _getableUser.GetByEmail(login.Email);

                var token = _jwtSystem.GenerateToken(user);

                var result = new LoginResult()
                {
                    Token  = token,
                    UserId = user.Id,
                };

                return(Ok(result));
            }
            catch (ObjectNotFoundException ex)
            {
                return(NotFound(ex.Message));
            }
        }
Beispiel #2
0
        public async Task <ActionResult <RegistrationResponseDTO> > Register(RegistrationUserDTO registrationUserDTO)
        {
            try
            {
                var userEntity = _mapper.Map <UserEntity>(registrationUserDTO);

                await _addableUser.AddAsync(userEntity);

                var registrationResponseDTO = _mapper.Map <RegistrationResponseDTO>(userEntity);

                var token = _jwtSystem.GenerateToken(userEntity);
                registrationResponseDTO.Token = token;

                return(Ok(registrationResponseDTO));
            }
            catch (InvalidFileFormatException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (ObjectAlreadyExistException ex)
            {
                return(BadRequest(ex.Message));
            }
        }