From 58ef5833b3f77f321c587dd86448c888029016ce Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Thu, 22 Dec 2022 14:44:26 +0100 Subject: feat: Many things - Working Login/Logout - Groundwork for web components - Loading web-components with version tag - Load temporal-polyfill globally --- code/api/Endpoints/Account/CreateEndpoint.cs | 2 +- code/api/Endpoints/Account/DeleteEndpoint.cs | 17 +++++++++++++++++ code/api/Endpoints/Account/LoginEndpoint.cs | 8 +++----- code/api/Endpoints/Account/LogoutEndpoint.cs | 2 +- 4 files changed, 22 insertions(+), 7 deletions(-) create mode 100644 code/api/Endpoints/Account/DeleteEndpoint.cs (limited to 'code/api/Endpoints/Account') diff --git a/code/api/Endpoints/Account/CreateEndpoint.cs b/code/api/Endpoints/Account/CreateEndpoint.cs index 41ffe96..4cea8f1 100644 --- a/code/api/Endpoints/Account/CreateEndpoint.cs +++ b/code/api/Endpoints/Account/CreateEndpoint.cs @@ -1,6 +1,6 @@ namespace I2R.Storage.Api.Endpoints.Account; -public class CreateEndpoint : Base +public class CreateEndpoint : EndpointBase { private readonly AppDatabase _database; private readonly UserService _userService; diff --git a/code/api/Endpoints/Account/DeleteEndpoint.cs b/code/api/Endpoints/Account/DeleteEndpoint.cs new file mode 100644 index 0000000..75a508a --- /dev/null +++ b/code/api/Endpoints/Account/DeleteEndpoint.cs @@ -0,0 +1,17 @@ +namespace I2R.Storage.Api.Endpoints.Account; + +public class DeleteEndpoint : EndpointBase +{ + private readonly UserService _userService; + + public DeleteEndpoint(UserService userService) { + _userService = userService; + } + + [HttpDelete("~/account/delete")] + public async Task Handle() { + await _userService.MarkUserAsDeletedAsync(LoggedInUser.Id, LoggedInUser.Id); + await _userService.LogOutUserAsync(HttpContext); + return Ok(); + } +} \ No newline at end of file diff --git a/code/api/Endpoints/Account/LoginEndpoint.cs b/code/api/Endpoints/Account/LoginEndpoint.cs index 0ffed0f..4f8e434 100644 --- a/code/api/Endpoints/Account/LoginEndpoint.cs +++ b/code/api/Endpoints/Account/LoginEndpoint.cs @@ -1,8 +1,6 @@ -using I2R.Storage.Api.Endpoints._Root; - namespace I2R.Storage.Api.Endpoints.Account; -public class LoginEndpoint : Base +public class LoginEndpoint : EndpointBase { private readonly AppDatabase _database; private readonly UserService _userService; @@ -25,11 +23,11 @@ public class LoginEndpoint : Base public async Task Handle([FromBody] Request request) { var user = _database.Users.FirstOrDefault(c => c.Username == request.Username); if (user == default) { - return BadRequest(_localizer["Invalid username or password"]); + return KnownProblem(_localizer["Invalid username or password"]); } if (!PasswordHelper.Verify(request.Password, user.Password)) { - return BadRequest(_localizer["Invalid username or password"]); + return KnownProblem(_localizer["Invalid username or password"]); } await _userService.LogInUserAsync(HttpContext, user.DefaultClaims()); diff --git a/code/api/Endpoints/Account/LogoutEndpoint.cs b/code/api/Endpoints/Account/LogoutEndpoint.cs index 064fa9f..de03e8e 100644 --- a/code/api/Endpoints/Account/LogoutEndpoint.cs +++ b/code/api/Endpoints/Account/LogoutEndpoint.cs @@ -1,6 +1,6 @@ namespace I2R.Storage.Api.Endpoints.Account; -public class LogoutEndpoint : Base +public class LogoutEndpoint : EndpointBase { private readonly UserService _userService; -- cgit v1.3