mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 12:16:09 -04:00
Change event_push_actions_rm_tokens schema
This commit is contained in:
parent
2e36689df3
commit
771528ab13
5 changed files with 67 additions and 21 deletions
|
@ -37,7 +37,11 @@ class EventPushActionsStore(SQLBaseStore):
|
|||
'event_id': event.event_id,
|
||||
'user_id': uid,
|
||||
'profile_tag': profile_tag,
|
||||
'actions': json.dumps(actions)
|
||||
'actions': json.dumps(actions),
|
||||
'stream_ordering': event.internal_metadata.stream_ordering,
|
||||
'topological_ordering': event.depth,
|
||||
'notif': 1,
|
||||
'highlight': 1 if _action_has_highlight(actions) else 0,
|
||||
})
|
||||
|
||||
def f(txn):
|
||||
|
@ -74,26 +78,28 @@ class EventPushActionsStore(SQLBaseStore):
|
|||
topological_ordering = results[0][1]
|
||||
|
||||
sql = (
|
||||
"SELECT ea.event_id, ea.actions"
|
||||
" FROM event_push_actions ea, events e"
|
||||
" WHERE ea.room_id = e.room_id"
|
||||
" AND ea.event_id = e.event_id"
|
||||
" AND ea.user_id = ?"
|
||||
" AND ea.room_id = ?"
|
||||
"SELECT sum(notif), sum(highlight)"
|
||||
" FROM event_push_actions ea"
|
||||
" WHERE"
|
||||
" user_id = ?"
|
||||
" AND room_id = ?"
|
||||
" AND ("
|
||||
" e.topological_ordering > ?"
|
||||
" OR (e.topological_ordering = ? AND e.stream_ordering > ?)"
|
||||
" topological_ordering > ?"
|
||||
" OR (topological_ordering = ? AND stream_ordering > ?)"
|
||||
")"
|
||||
)
|
||||
txn.execute(sql, (
|
||||
user_id, room_id,
|
||||
topological_ordering, topological_ordering, stream_ordering
|
||||
)
|
||||
)
|
||||
return [
|
||||
{"event_id": row[0], "actions": json.loads(row[1])}
|
||||
for row in txn.fetchall()
|
||||
]
|
||||
))
|
||||
row = txn.fetchone()
|
||||
if row:
|
||||
return {
|
||||
"notify_count": row[0] or 0,
|
||||
"highlight_count": row[1] or 0,
|
||||
}
|
||||
else:
|
||||
return {"notify_count": 0, "highlight_count": 0}
|
||||
|
||||
ret = yield self.runInteraction(
|
||||
"get_unread_event_push_actions_by_room",
|
||||
|
@ -117,3 +123,14 @@ class EventPushActionsStore(SQLBaseStore):
|
|||
"remove_push_actions_for_event_id",
|
||||
f
|
||||
)
|
||||
|
||||
|
||||
def _action_has_highlight(actions):
|
||||
for action in actions:
|
||||
try:
|
||||
if action.get("set_tweak", None) == "highlight":
|
||||
return action.get("value", True)
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
return False
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue