about summary refs log tree commit diff
path: root/Tests/LibMatrix.HomeserverEmulator/Controllers/AuthController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/LibMatrix.HomeserverEmulator/Controllers/AuthController.cs')
-rw-r--r--Tests/LibMatrix.HomeserverEmulator/Controllers/AuthController.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/Tests/LibMatrix.HomeserverEmulator/Controllers/AuthController.cs b/Tests/LibMatrix.HomeserverEmulator/Controllers/AuthController.cs
new file mode 100644
index 0000000..d0496bf
--- /dev/null
+++ b/Tests/LibMatrix.HomeserverEmulator/Controllers/AuthController.cs
@@ -0,0 +1,23 @@
+using System.Text.Json.Nodes;

+using LibMatrix.HomeserverEmulator.Services;

+using LibMatrix.Responses;

+using LibMatrix.Services;

+using Microsoft.AspNetCore.Mvc;

+

+namespace LibMatrix.HomeserverEmulator.Controllers;

+

+[ApiController]

+[Route("/_matrix/client/{version}/")]

+public class AuthController(ILogger<AuthController> logger, UserStore userStore) : ControllerBase {

+    [HttpPost("login")]

+    public async Task<LoginResponse> Login(LoginRequest request) {

+        var user = await userStore.CreateUser($"@{Guid.NewGuid().ToString()}:{Request.Host}", Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), new Dictionary<string, object>());

+        var loginResponse = new LoginResponse {

+            AccessToken = user.AccessToken,

+            DeviceId = user.DeviceId,

+            UserId = user.UserId

+        };

+

+        return loginResponse;

+    }

+}
\ No newline at end of file