about summary refs log tree commit diff
path: root/Tests/LibMatrix.HomeserverEmulator/Controllers/Users/ProfileController.cs
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2024-05-30 08:22:50 +0000
committerRory& <root@rory.gay>2024-05-30 08:22:50 +0000
commit0fa768556aca00f4346ccd71917fad048def6323 (patch)
treee6835af94759eac7814aa6d1c718d98d37dfc4a9 /Tests/LibMatrix.HomeserverEmulator/Controllers/Users/ProfileController.cs
parentLog warning if registering a duplicate type (diff)
downloadLibMatrix-0fa768556aca00f4346ccd71917fad048def6323.tar.xz
Move around some projects, further cleanup pending dev/project-cleanup
Diffstat (limited to 'Tests/LibMatrix.HomeserverEmulator/Controllers/Users/ProfileController.cs')
-rw-r--r--Tests/LibMatrix.HomeserverEmulator/Controllers/Users/ProfileController.cs52
1 files changed, 0 insertions, 52 deletions
diff --git a/Tests/LibMatrix.HomeserverEmulator/Controllers/Users/ProfileController.cs b/Tests/LibMatrix.HomeserverEmulator/Controllers/Users/ProfileController.cs
deleted file mode 100644
index 98c41da..0000000
--- a/Tests/LibMatrix.HomeserverEmulator/Controllers/Users/ProfileController.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-using System.Text.Json.Nodes;

-using ArcaneLibs.Extensions;

-using LibMatrix.EventTypes.Spec.State;

-using LibMatrix.Filters;

-using LibMatrix.HomeserverEmulator.Services;

-using LibMatrix.Responses;

-using Microsoft.AspNetCore.Mvc;

-

-namespace LibMatrix.HomeserverEmulator.Controllers;

-

-[ApiController]

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

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

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

-    public async Task<IDictionary<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;

-    }

-

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

-    public async Task<object> SetProfile(string userId, string key, [FromBody] JsonNode value) {

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

-        if (user is null)

-            throw new MatrixException() {

-                ErrorCode = "M_NOT_FOUND",

-                Error = "User not found."

-            };

-        user.Profile[key] = value[key]?.AsObject();

-        return value;

-    }

-}
\ No newline at end of file