diff options
author | Mark Haines <mjark@negativecurvature.net> | 2015-01-30 15:00:56 +0000 |
---|---|---|
committer | Mark Haines <mjark@negativecurvature.net> | 2015-01-30 15:00:56 +0000 |
commit | 9bfc8bf7523faf213f5c00bf70cce40b093d05ad (patch) | |
tree | 766c9a589fc9f3b8aa7109b43df51a8984bdd1d2 /synapse/storage/_base.py | |
parent | Merge pull request #37 from matrix-org/client_v2_filter (diff) | |
parent | Remove merge conflict (diff) | |
download | synapse-9bfc8bf7523faf213f5c00bf70cce40b093d05ad.tar.xz |
Merge pull request #40 from matrix-org/rejections_storage
Rejections storage
Diffstat (limited to 'synapse/storage/_base.py')
-rw-r--r-- | synapse/storage/_base.py | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/synapse/storage/_base.py b/synapse/storage/_base.py index 4e8bd3faa9..b350fd61f1 100644 --- a/synapse/storage/_base.py +++ b/synapse/storage/_base.py @@ -502,10 +502,12 @@ class SQLBaseStore(object): return [e for e in events if e] def _get_event_txn(self, txn, event_id, check_redacted=True, - get_prev_content=False): + get_prev_content=False, allow_rejected=False): sql = ( - "SELECT internal_metadata, json, r.event_id FROM event_json as e " + "SELECT e.internal_metadata, e.json, r.event_id, rej.reason " + "FROM event_json as e " "LEFT JOIN redactions as r ON e.event_id = r.redacts " + "LEFT JOIN rejections as rej on rej.event_id = e.event_id " "WHERE e.event_id = ? " "LIMIT 1 " ) @@ -517,13 +519,16 @@ class SQLBaseStore(object): if not res: return None - internal_metadata, js, redacted = res + internal_metadata, js, redacted, rejected_reason = res - return self._get_event_from_row_txn( - txn, internal_metadata, js, redacted, - check_redacted=check_redacted, - get_prev_content=get_prev_content, - ) + if allow_rejected or not rejected_reason: + return self._get_event_from_row_txn( + txn, internal_metadata, js, redacted, + check_redacted=check_redacted, + get_prev_content=get_prev_content, + ) + else: + return None def _get_event_from_row_txn(self, txn, internal_metadata, js, redacted, check_redacted=True, get_prev_content=False): |