diff options
Diffstat (limited to 'code/api/Endpoints/Account/LoginEndpoint.cs')
| -rw-r--r-- | code/api/Endpoints/Account/LoginEndpoint.cs | 52 |
1 files changed, 21 insertions, 31 deletions
diff --git a/code/api/Endpoints/Account/LoginEndpoint.cs b/code/api/Endpoints/Account/LoginEndpoint.cs index 4f8e434..6cda119 100644 --- a/code/api/Endpoints/Account/LoginEndpoint.cs +++ b/code/api/Endpoints/Account/LoginEndpoint.cs @@ -1,36 +1,26 @@ -namespace I2R.Storage.Api.Endpoints.Account; +namespace Quality.Storage.Api.Endpoints.Account; -public class LoginEndpoint : EndpointBase +public class LoginEndpoint(UserService userService, AppDatabase database, IStringLocalizer<SharedResources> localizer) : EndpointBase { - private readonly AppDatabase _database; - private readonly UserService _userService; - private readonly IStringLocalizer<SharedResources> _localizer; + public new class Request + { + public string Username { get; set; } + public string Password { get; set; } + } - public new class Request - { - public string Username { get; set; } - public string Password { get; set; } - } + [AllowAnonymous] + [HttpPost("~/account/login")] + public async Task<ActionResult> Handle([FromBody] Request request) { + var user = database.Users.FirstOrDefault(c => c.Username == request.Username); + if (user == default) { + return KnownProblem(localizer["Invalid username or password"]); + } - public LoginEndpoint(UserService userService, AppDatabase database, IStringLocalizer<SharedResources> localizer) { - _userService = userService; - _database = database; - _localizer = localizer; - } + if (!PasswordHelper.Verify(request.Password, user.Password)) { + return KnownProblem(localizer["Invalid username or password"]); + } - [AllowAnonymous] - [HttpPost("~/account/login")] - public async Task<ActionResult> Handle([FromBody] Request request) { - var user = _database.Users.FirstOrDefault(c => c.Username == request.Username); - if (user == default) { - return KnownProblem(_localizer["Invalid username or password"]); - } - - if (!PasswordHelper.Verify(request.Password, user.Password)) { - return KnownProblem(_localizer["Invalid username or password"]); - } - - await _userService.LogInUserAsync(HttpContext, user.DefaultClaims()); - return Ok(); - } -}
\ No newline at end of file + await userService.LogInUserAsync(HttpContext, user.DefaultClaims()); + return Ok(); + } +} |
