public async Task <IActionResult> Refresh([FromBody] RefreshTokenRequestModel model)
        {
            var authResponse = await _userService.RefreshTokenAsync(model.Token, model.RefreshToken);

            if (!authResponse.Success)
            {
                return(BadRequest(authResponse.Message));
            }

            var successfulAuthResult = new Models.Transfer.UserLoginResponseModel
            {
                Token        = authResponse.Token,
                RefreshToken = authResponse.RefreshToken
            };

            return(Ok(successfulAuthResult));
        }
        public async Task <IActionResult> Login([FromBody] UserLoginRequestModel model)
        {
            //var vpd = new ValidationProblemDetails { };

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.Values.SelectMany(s => s.Errors.Select(x => x.ErrorMessage))));
            }

            var userToAuthenticate = await _userService.AuthenticateAsync(model.Username, model.Password);

            if (!userToAuthenticate.Success)
            {
                return(BadRequest(userToAuthenticate.Message));
            }

            var successfulAuthResult = new Models.Transfer.UserLoginResponseModel
            {
                Token        = userToAuthenticate.Token,
                RefreshToken = userToAuthenticate.RefreshToken
            };

            return(Ok(successfulAuthResult));
        }