aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/Endpoints/Account
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-12-22 14:44:26 +0100
committerivarlovlie <git@ivarlovlie.no>2022-12-22 14:44:26 +0100
commit58ef5833b3f77f321c587dd86448c888029016ce (patch)
treefe5e6f47781573cc1fb5938f9b8cd8b51022946a /code/api/Endpoints/Account
parent82ade3c31fb17b662feec59e9e654ceb66edbb7a (diff)
downloadstorage-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.cs2
-rw-r--r--code/api/Endpoints/Account/DeleteEndpoint.cs17
-rw-r--r--code/api/Endpoints/Account/LoginEndpoint.cs8
-rw-r--r--code/api/Endpoints/Account/LogoutEndpoint.cs2
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;