about summary refs log tree commit diff
path: root/Tests/LibMatrix.HomeserverEmulator/Controllers/UserController.cs
diff options
context:
space:
mode:
authorEmma [it/its]@Rory& <root@rory.gay>2024-03-05 11:19:52 +0100
committerEmma [it/its]@Rory& <root@rory.gay>2024-03-05 11:19:52 +0100
commitf41b6e5ec431c88bc1d94e4832d8ba49ddc42004 (patch)
tree503be94f5036f7cc221846c1eabf7c5edd107f1a /Tests/LibMatrix.HomeserverEmulator/Controllers/UserController.cs
parentUnknown changes (diff)
downloadLibMatrix-f41b6e5ec431c88bc1d94e4832d8ba49ddc42004.tar.xz
HomeserverEmulator work
Diffstat (limited to 'Tests/LibMatrix.HomeserverEmulator/Controllers/UserController.cs')
-rw-r--r--Tests/LibMatrix.HomeserverEmulator/Controllers/UserController.cs81
1 files changed, 0 insertions, 81 deletions
diff --git a/Tests/LibMatrix.HomeserverEmulator/Controllers/UserController.cs b/Tests/LibMatrix.HomeserverEmulator/Controllers/UserController.cs
deleted file mode 100644
index d763b26..0000000
--- a/Tests/LibMatrix.HomeserverEmulator/Controllers/UserController.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-using System.Text.Json.Nodes;

-using ArcaneLibs.Extensions;

-using LibMatrix.HomeserverEmulator.Services;

-using LibMatrix.Responses;

-using Microsoft.AspNetCore.Mvc;

-

-namespace LibMatrix.HomeserverEmulator.Controllers;

-

-[ApiController]

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

-public class UserController(ILogger<UserController> logger, TokenService tokenService, UserStore userStore) : ControllerBase {

-    [HttpGet("account/whoami")]

-    public async Task<WhoAmIResponse> Login() {

-        var token = tokenService.GetAccessToken();

-        if (token is null)

-            throw new MatrixException() {

-                ErrorCode = "M_UNAUTHORIZED",

-                Error = "No token passed."

-            };

-

-        var user = await userStore.GetUserByToken(token, Random.Shared.Next(101) <= 10, tokenService.GenerateServerName());

-        if (user is null)

-            throw new MatrixException() {

-                ErrorCode = "M_UNKNOWN_TOKEN",

-                Error = "Invalid token."

-            };

-        var whoAmIResponse = new WhoAmIResponse {

-            UserId = user.UserId

-        };

-        return whoAmIResponse;

-    }

-    

-    [HttpGet("profile/{userId}")]

-    public async Task<Dictionary<string, object>> GetProfile(string userId) {

-        var user = await userStore.GetUserById(userId, false);

-        if (user is null)

-            throw new MatrixException() {

-                ErrorCode = "M_NOT_FOUND",

-                Error = "User not found."

-            };

-        return user.Profile;

-    }

-    

-    [HttpGet("profile/{userId}/{key}")]

-    public async Task<object> GetProfile(string userId, string key) {

-        var user = await userStore.GetUserById(userId, false);

-        if (user is null)

-            throw new MatrixException() {

-                ErrorCode = "M_NOT_FOUND",

-                Error = "User not found."

-            };

-        if (!user.Profile.TryGetValue(key, out var value))

-            throw new MatrixException() {

-                ErrorCode = "M_NOT_FOUND",

-                Error = "Key not found."

-            };

-        return value;

-    }

-    

-    [HttpGet("joined_rooms")]

-    public async Task<object> GetJoinedRooms() {

-        var token = tokenService.GetAccessToken();

-        if (token is null)

-            throw new MatrixException() {

-                ErrorCode = "M_UNAUTHORIZED",

-                Error = "No token passed."

-            };

-

-        var user = await userStore.GetUserByToken(token, false);

-        if (user is null)

-            throw new MatrixException() {

-                ErrorCode = "M_UNAUTHORIZED",

-                Error = "Invalid token."

-            };

-        // return user.JoinedRooms;

-

-        return new {

-            joined_rooms = user.JoinedRooms

-        };

-    }

-}
\ No newline at end of file