mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-14 23:43:55 +01:00
Convert _censor_redactions to async since it awaits on coroutines
This commit is contained in:
parent
cc5f6eb608
commit
31da85e467
1 changed files with 9 additions and 11 deletions
|
@ -1039,22 +1039,20 @@ class EventsStore(
|
|||
},
|
||||
)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def _censor_redactions(self):
|
||||
async def _censor_redactions(self):
|
||||
"""Censors all redactions older than the configured period that haven't
|
||||
been censored yet.
|
||||
|
||||
By censor we mean update the event_json table with the redacted event.
|
||||
|
||||
Returns:
|
||||
Deferred
|
||||
"""
|
||||
|
||||
if self.hs.config.redaction_retention_period is None:
|
||||
return
|
||||
|
||||
if self.db.updates.has_completed_background_update(
|
||||
if not (
|
||||
await self.db.updates.has_completed_background_update(
|
||||
"redactions_have_censored_ts_idx"
|
||||
)
|
||||
):
|
||||
# We don't want to run this until the appropriate index has been
|
||||
# created.
|
||||
|
@ -1081,15 +1079,15 @@ class EventsStore(
|
|||
LIMIT ?
|
||||
"""
|
||||
|
||||
rows = yield self.db.execute(
|
||||
rows = await self.db.execute(
|
||||
"_censor_redactions_fetch", None, sql, before_ts, 100
|
||||
)
|
||||
|
||||
updates = []
|
||||
|
||||
for redaction_id, event_id in rows:
|
||||
redaction_event = yield self.get_event(redaction_id, allow_none=True)
|
||||
original_event = yield self.get_event(
|
||||
redaction_event = await self.get_event(redaction_id, allow_none=True)
|
||||
original_event = await self.get_event(
|
||||
event_id, allow_rejected=True, allow_none=True
|
||||
)
|
||||
|
||||
|
@ -1122,7 +1120,7 @@ class EventsStore(
|
|||
updatevalues={"have_censored": True},
|
||||
)
|
||||
|
||||
yield self.db.runInteraction("_update_censor_txn", _update_censor_txn)
|
||||
await self.db.runInteraction("_update_censor_txn", _update_censor_txn)
|
||||
|
||||
def _censor_event_txn(self, txn, event_id, pruned_json):
|
||||
"""Censor an event by replacing its JSON in the event_json table with the
|
||||
|
|
Loading…
Reference in a new issue