diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-12-22 14:44:26 +0100 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-12-22 14:44:26 +0100 |
| commit | 58ef5833b3f77f321c587dd86448c888029016ce (patch) | |
| tree | fe5e6f47781573cc1fb5938f9b8cd8b51022946a /code/api/Endpoints/Account | |
| parent | 82ade3c31fb17b662feec59e9e654ceb66edbb7a (diff) | |
| download | storage-58ef5833b3f77f321c587dd86448c888029016ce.tar.xz storage-58ef5833b3f77f321c587dd86448c888029016ce.zip | |
feat: Many things
- Working Login/Logout
- Groundwork for web components
- Loading web-components with version tag
- Load temporal-polyfill globally
Diffstat (limited to 'code/api/Endpoints/Account')
| -rw-r--r-- | code/api/Endpoints/Account/CreateEndpoint.cs | 2 | ||||
| -rw-r--r-- | code/api/Endpoints/Account/DeleteEndpoint.cs | 17 | ||||
| -rw-r--r-- | code/api/Endpoints/Account/LoginEndpoint.cs | 8 | ||||
| -rw-r--r-- | code/api/Endpoints/Account/LogoutEndpoint.cs | 2 |
4 files changed, 22 insertions, 7 deletions
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<ActionResult> 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<ActionResult> 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; |
