about summary refs log tree commit diff
path: root/Tests/LibMatrix.HomeserverEmulator/Controllers/Rooms/RoomAccountDataController.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/Rooms/RoomAccountDataController.cs
parentLog warning if registering a duplicate type (diff)
downloadLibMatrix-0fa768556aca00f4346ccd71917fad048def6323.tar.xz
Move around some projects, further cleanup pending github/dev/project-cleanup dev/project-cleanup
Diffstat (limited to 'Tests/LibMatrix.HomeserverEmulator/Controllers/Rooms/RoomAccountDataController.cs')
-rw-r--r--Tests/LibMatrix.HomeserverEmulator/Controllers/Rooms/RoomAccountDataController.cs78
1 files changed, 0 insertions, 78 deletions
diff --git a/Tests/LibMatrix.HomeserverEmulator/Controllers/Rooms/RoomAccountDataController.cs b/Tests/LibMatrix.HomeserverEmulator/Controllers/Rooms/RoomAccountDataController.cs
deleted file mode 100644
index bac803f..0000000
--- a/Tests/LibMatrix.HomeserverEmulator/Controllers/Rooms/RoomAccountDataController.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-using System.Text.Json.Serialization;
-using LibMatrix.HomeserverEmulator.Services;
-using Microsoft.AspNetCore.Mvc;
-
-namespace LibMatrix.HomeserverEmulator.Controllers.Rooms;
-
-[ApiController]
-[Route("/_matrix/client/{version}/rooms/{roomId}")]
-public class RoomAccountDataController(ILogger<RoomAccountDataController> logger, TokenService tokenService, UserStore userStore, RoomStore roomStore) : ControllerBase {
-    [HttpPost("read_markers")]
-    public async Task<object> SetReadMarkers(string roomId, [FromBody] ReadMarkersData data) {
-        var token = tokenService.GetAccessToken(HttpContext);
-        var user = await userStore.GetUserByToken(token);
-
-        var room = roomStore.GetRoomById(roomId);
-        if (room == null)
-            throw new MatrixException() {
-                ErrorCode = "M_NOT_FOUND",
-                Error = "Room not found"
-            };
-
-        if (!room.JoinedMembers.Any(x => x.StateKey == user.UserId))
-            throw new MatrixException() {
-                ErrorCode = "M_FORBIDDEN",
-                Error = "User is not in the room"
-            };
-
-        if (!room.ReadMarkers.ContainsKey(user.UserId))
-            room.ReadMarkers[user.UserId] = new();
-
-        if (data.FullyRead != null)
-            room.ReadMarkers[user.UserId].FullyRead = data.FullyRead;
-        if (data.Read != null)
-            room.ReadMarkers[user.UserId].Read = data.Read;
-        if (data.ReadPrivate != null)
-            room.ReadMarkers[user.UserId].ReadPrivate = data.ReadPrivate;
-
-        if (!room.AccountData.ContainsKey(user.UserId))
-            room.AccountData[user.UserId] = new();
-
-        room.AccountData[user.UserId].Add(new StateEventResponse() {
-            Type = "m.fully_read",
-            StateKey = user.UserId,
-            RawContent = new() {
-                ["event_id"] = data.FullyRead
-            }
-        });
-
-        room.AccountData[user.UserId].Add(new StateEventResponse() {
-            Type = "m.read",
-            StateKey = user.UserId,
-            RawContent = new() {
-                ["event_id"] = data.Read
-            }
-        });
-
-        room.AccountData[user.UserId].Add(new StateEventResponse() {
-            Type = "m.read.private",
-            StateKey = user.UserId,
-            RawContent = new() {
-                ["event_id"] = data.ReadPrivate
-            }
-        });
-
-        return data;
-    }
-}
-
-public class ReadMarkersData {
-    [JsonPropertyName("m.fully_read")]
-    public string? FullyRead { get; set; }
-
-    [JsonPropertyName("m.read")]
-    public string? Read { get; set; }
-
-    [JsonPropertyName("m.read.private")]
-    public string? ReadPrivate { get; set; }
-}
\ No newline at end of file