about summary refs log tree commit diff
path: root/Tests/LibMatrix.HomeserverEmulator/Controllers/Users/AccountDataController.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/AccountDataController.cs
parentLog warning if registering a duplicate type (diff)
downloadLibMatrix-bak-0fa768556aca00f4346ccd71917fad048def6323.tar.xz
Move around some projects, further cleanup pending github/dev/project-cleanup dev/project-cleanup
Diffstat (limited to 'Tests/LibMatrix.HomeserverEmulator/Controllers/Users/AccountDataController.cs')
-rw-r--r--Tests/LibMatrix.HomeserverEmulator/Controllers/Users/AccountDataController.cs68
1 files changed, 0 insertions, 68 deletions
diff --git a/Tests/LibMatrix.HomeserverEmulator/Controllers/Users/AccountDataController.cs b/Tests/LibMatrix.HomeserverEmulator/Controllers/Users/AccountDataController.cs
deleted file mode 100644

index a32d283..0000000 --- a/Tests/LibMatrix.HomeserverEmulator/Controllers/Users/AccountDataController.cs +++ /dev/null
@@ -1,68 +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 AccountDataController(ILogger<AccountDataController> logger, TokenService tokenService, UserStore userStore, RoomStore roomStore) : ControllerBase { - [HttpGet("user/{mxid}/account_data/{type}")] - public async Task<object> GetAccountData(string type) { - var token = tokenService.GetAccessToken(HttpContext); - var user = await userStore.GetUserByToken(token, false); - if (user is null) - throw new MatrixException() { - ErrorCode = "M_UNAUTHORIZED", - Error = "Invalid token." - }; - - var value = user.AccountData.FirstOrDefault(x => x.Type == type); - if (value is null) - throw new MatrixException() { - ErrorCode = "M_NOT_FOUND", - Error = "Key not found." - }; - return value; - } - - [HttpPut("user/{mxid}/account_data/{type}")] - public async Task<object> SetAccountData(string type, [FromBody] JsonObject data) { - var token = tokenService.GetAccessToken(HttpContext); - var user = await userStore.GetUserByToken(token, false); - if (user is null) - throw new MatrixException() { - ErrorCode = "M_UNAUTHORIZED", - Error = "Invalid token." - }; - - user.AccountData.Add(new() { - Type = type, - RawContent = data - }); - return data; - } - - // specialised account data... - [HttpGet("pushrules")] - public async Task<object> GetPushRules() { - var token = tokenService.GetAccessToken(HttpContext); - 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 new { }; - } -} \ No newline at end of file