Ejemplo n.º 1
0
        public async Task <ActionResult <string> > Login([FromBody] UserInputModel userInput)
        {
            _logger.LogDebug("Invoked Login");
            try
            {
                var validateResponse = _validationService.ValidateUserInput(userInput).ToList();
                if (validateResponse.Any())
                {
                    return(StatusCode(400, JsonConvert.SerializeObject(validateResponse)));
                }

                _logger.LogDebug("Login Success");
                return(new OkObjectResult(await _userLoginService.LoginAsync(userInput)));
            }
            catch (UserNotFoundException e)
            {
                _logger.LogError("UserNotFoundException", e);
                return(StatusCode(401, "Incorrect username or password"));
            }
            catch (NotAuthorizedException e)
            {
                _logger.LogError("NotAuthorizedException", e);
                return(StatusCode(401, "Incorrect username or password"));
            }
            catch (Exception e)
            {
                _logger.LogError("Exception", e);
                return(StatusCode(500, e.Message));
            }
        }