diff options
author | Krombel <krombel@krombel.de> | 2018-04-30 14:29:48 +0200 |
---|---|---|
committer | Krombel <krombel@krombel.de> | 2018-04-30 14:29:48 +0200 |
commit | 576b71dd3d7139ae246b900fea4533d813f38a2a (patch) | |
tree | fd550e44b97382d0a0d9d80f1ab77ce0b87ff460 /synapse/rest/client/v1 | |
parent | Merge pull request #3129 from matrix-org/matthew/fix_group_dups (diff) | |
download | synapse-576b71dd3d7139ae246b900fea4533d813f38a2a.tar.xz |
add guard for None on purge_history api
Diffstat (limited to 'synapse/rest/client/v1')
-rw-r--r-- | synapse/rest/client/v1/admin.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/synapse/rest/client/v1/admin.py b/synapse/rest/client/v1/admin.py index 303419d281..efd5c9873d 100644 --- a/synapse/rest/client/v1/admin.py +++ b/synapse/rest/client/v1/admin.py @@ -168,11 +168,24 @@ class PurgeHistoryRestServlet(ClientV1RestServlet): yield self.store.find_first_stream_ordering_after_ts(ts) ) - (_, depth, _) = ( + room_event_after_stream_ordering = ( yield self.store.get_room_event_after_stream_ordering( room_id, stream_ordering, ) ) + if room_event_after_stream_ordering: + (_, depth, _) = room_event_after_stream_ordering + else: + logger.warn( + "[purge] purging events not possible: No event found " + "(received_ts %i => stream_ordering %i)", + ts, stream_ordering, + ) + raise SynapseError( + 404, + "there is no event to be purged", + errcode=Codes.NOT_FOUND, + ) logger.info( "[purge] purging up to depth %i (received_ts %i => " "stream_ordering %i)", |