From fd78916e3524775e0792c683bc8bea8c4ec5fec7 Mon Sep 17 00:00:00 2001 From: Malte Brandy Date: Sun, 23 May 2021 03:19:54 +0200 Subject: [PATCH] Fix purgeRoom call --- nixos/roles/matrix-synapse/synapse-cleanup.hs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/nixos/roles/matrix-synapse/synapse-cleanup.hs b/nixos/roles/matrix-synapse/synapse-cleanup.hs index 3cf0df81..a936678b 100644 --- a/nixos/roles/matrix-synapse/synapse-cleanup.hs +++ b/nixos/roles/matrix-synapse/synapse-cleanup.hs @@ -28,12 +28,15 @@ import Database.PostgreSQL.Simple as PSQL ( import Network.HTTP ( Header (Header), HeaderName (HdrAuthorization), + RequestMethod (DELETE), Request_String, - Response (rspBody), + Response (rspBody, rspReason), getRequest, insertHeaders, postRequest, postRequestWithBody, + rqMethod, + rspCode, simpleHTTP, ) import Relude @@ -112,11 +115,13 @@ purgeUpToEvent token roomId upToTime (eventName, eventTime) = ) purgeRoom :: Text -> Text -> IO () -purgeRoom token roomID = handleResponse =<< (simpleHTTP . giveToken token) (postRequestWithBody url contentType body) +purgeRoom token roomID = do + say [i|Deleting #{roomID}...|] + handleResponse =<< (simpleHTTP . giveToken token . \x -> x{rqMethod = DELETE}) (postRequestWithBody url contentType "{}") where - body = [i|{"room_id":"${roomID}"}|] - url = [i|#{apiUrl}/purge_room|] - handleResponse = either (\e -> sayErr [i|Could not purge room #{roomID}. Error #{e}|]) (const pass) + url = [i|#{apiUrl}/rooms/#{roomID}|] + handleResponse = either printErr (\x -> say [i|#{rspCode x}: #{rspReason x}\n#{rspBody x}|]) + printErr e = sayErr [i|Could not purge room #{roomID}. Error #{e}|] processRoom :: Text -> PSQL.Connection -> UTCTime -> Text -> IO () processRoom token conn upToTime roomId = do