From ae199156caae9384d575d384daae5690e0b28aae Mon Sep 17 00:00:00 2001 From: Rory& Date: Tue, 22 Apr 2025 17:03:09 +0200 Subject: Add tombstone event content, URL-escape room id in synapse admin --- .../ImplementationDetails/Synapse/SynapseAdminApiClient.cs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'LibMatrix') diff --git a/LibMatrix/Homeservers/ImplementationDetails/Synapse/SynapseAdminApiClient.cs b/LibMatrix/Homeservers/ImplementationDetails/Synapse/SynapseAdminApiClient.cs index daa4468..777c04a 100644 --- a/LibMatrix/Homeservers/ImplementationDetails/Synapse/SynapseAdminApiClient.cs +++ b/LibMatrix/Homeservers/ImplementationDetails/Synapse/SynapseAdminApiClient.cs @@ -492,13 +492,13 @@ public class SynapseAdminApiClient(AuthenticatedHomeserverSynapse authenticatedH } public async Task BlockRoom(string roomId, bool block = true) { - await authenticatedHomeserver.ClientHttpClient.PutAsJsonAsync($"/_synapse/admin/v1/rooms/{roomId}/block", new { + await authenticatedHomeserver.ClientHttpClient.PutAsJsonAsync($"/_synapse/admin/v1/rooms/{roomId.UrlEncode()}/block", new { block }); } public async Task DeleteRoom(string roomId, SynapseAdminRoomDeleteRequest request, bool waitForCompletion = true) { - var resp = await authenticatedHomeserver.ClientHttpClient.DeleteAsJsonAsync($"/_synapse/admin/v2/rooms/{roomId}", request); + var resp = await authenticatedHomeserver.ClientHttpClient.DeleteAsJsonAsync($"/_synapse/admin/v2/rooms/{roomId.UrlEncode()}", request); var deleteResp = await resp.Content.ReadFromJsonAsync(); if (waitForCompletion) { @@ -514,7 +514,7 @@ public class SynapseAdminApiClient(AuthenticatedHomeserverSynapse authenticatedH public async Task GetRoomDeleteStatusByRoomId(string roomId) { return await authenticatedHomeserver.ClientHttpClient.GetFromJsonAsync( - $"/_synapse/admin/v2/rooms/{roomId}/delete_status"); + $"/_synapse/admin/v2/rooms/{roomId.UrlEncode()}/delete_status"); } public async Task GetRoomDeleteStatus(string deleteId) { @@ -523,15 +523,17 @@ public class SynapseAdminApiClient(AuthenticatedHomeserverSynapse authenticatedH } public async Task GetRoomMembersAsync(string roomId) { - return await authenticatedHomeserver.ClientHttpClient.GetFromJsonAsync($"/_synapse/admin/v1/rooms/{roomId}/members"); + return await authenticatedHomeserver.ClientHttpClient.GetFromJsonAsync($"/_synapse/admin/v1/rooms/{roomId.UrlEncode()}/members"); } public async Task GetRoomStateAsync(string roomId, string? type = null) { - return await authenticatedHomeserver.ClientHttpClient.GetFromJsonAsync($"/_synapse/admin/v1/rooms/{roomId}/state"); + return string.IsNullOrWhiteSpace(type) + ? await authenticatedHomeserver.ClientHttpClient.GetFromJsonAsync($"/_synapse/admin/v1/rooms/{roomId.UrlEncode()}/state") + : await authenticatedHomeserver.ClientHttpClient.GetFromJsonAsync($"/_synapse/admin/v1/rooms/{roomId.UrlEncode()}/state?type={type}"); } public async Task QuarantineMediaByRoomId(string roomId) { - await authenticatedHomeserver.ClientHttpClient.PutAsJsonAsync($"/_synapse/admin/v1/room/{roomId}/media/quarantine", new { }); + await authenticatedHomeserver.ClientHttpClient.PutAsJsonAsync($"/_synapse/admin/v1/room/{roomId.UrlEncode()}/media/quarantine", new { }); } public async Task QuarantineMediaByUserId(string mxid) { -- cgit 1.5.1