summary refs log tree commit diff
path: root/synapse/storage/event_push_actions.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2018-02-15 15:01:12 +0000
committerErik Johnston <erik@matrix.org>2018-02-15 15:47:04 +0000
commitacac21248cf1834233831383ee52198ca1bd010c (patch)
tree33701945b82a01a34a5f883cd6bf91a88c38333f /synapse/storage/event_push_actions.py
parentMerge pull request #2873 from matrix-org/erikj/event_creator_no_state (diff)
downloadsynapse-acac21248cf1834233831383ee52198ca1bd010c.tar.xz
Store push actions in staging area
Diffstat (limited to 'synapse/storage/event_push_actions.py')
-rw-r--r--synapse/storage/event_push_actions.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/synapse/storage/event_push_actions.py b/synapse/storage/event_push_actions.py
index 8efe2fd4bb..80c3cfe95f 100644
--- a/synapse/storage/event_push_actions.py
+++ b/synapse/storage/event_push_actions.py
@@ -738,6 +738,33 @@ class EventPushActionsStore(SQLBaseStore):
             (rotate_to_stream_ordering,)
         )
 
+    def add_push_actions_to_staging(self, event_id, user_id, actions):
+        """Add the push actions for the user and event to the push
+        action staging area.
+
+        Args:
+            event_id (str)
+            user_id (str)
+            actions (list)
+
+        Returns:
+            Deferred
+        """
+
+        is_highlight = _action_has_highlight(actions)
+
+        return self._simple_insert(
+            table="event_push_actions_staging",
+            values={
+                "event_id": event_id,
+                "user_id": user_id,
+                "actions": _serialize_action(actions, is_highlight),
+                "notif": True,
+                "highlight": is_highlight,
+            },
+            desc="add_push_actions_to_staging",
+        )
+
 
 def _action_has_highlight(actions):
     for action in actions: