mirror of
https://github.com/element-hq/synapse
synced 2024-09-04 10:10:06 +00:00
Merge pull request #1081 from matrix-org/dbkr/notifications_only_highlight
Implement `only=highlight` on `/notifications`
This commit is contained in:
commit
b8f84f99ff
2 changed files with 10 additions and 2 deletions
|
@ -45,11 +45,12 @@ class NotificationsServlet(RestServlet):
|
||||||
|
|
||||||
from_token = parse_string(request, "from", required=False)
|
from_token = parse_string(request, "from", required=False)
|
||||||
limit = parse_integer(request, "limit", default=50)
|
limit = parse_integer(request, "limit", default=50)
|
||||||
|
only = parse_string(request, "only", required=False)
|
||||||
|
|
||||||
limit = min(limit, 500)
|
limit = min(limit, 500)
|
||||||
|
|
||||||
push_actions = yield self.store.get_push_actions_for_user(
|
push_actions = yield self.store.get_push_actions_for_user(
|
||||||
user_id, from_token, limit
|
user_id, from_token, limit, only_highlight=(only == "highlight")
|
||||||
)
|
)
|
||||||
|
|
||||||
receipts_by_room = yield self.store.get_receipts_for_user_with_orderings(
|
receipts_by_room = yield self.store.get_receipts_for_user_with_orderings(
|
||||||
|
|
|
@ -338,7 +338,8 @@ class EventPushActionsStore(SQLBaseStore):
|
||||||
defer.returnValue(notifs[:limit])
|
defer.returnValue(notifs[:limit])
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def get_push_actions_for_user(self, user_id, before=None, limit=50):
|
def get_push_actions_for_user(self, user_id, before=None, limit=50,
|
||||||
|
only_highlight=False):
|
||||||
def f(txn):
|
def f(txn):
|
||||||
before_clause = ""
|
before_clause = ""
|
||||||
if before:
|
if before:
|
||||||
|
@ -346,6 +347,12 @@ class EventPushActionsStore(SQLBaseStore):
|
||||||
args = [user_id, before, limit]
|
args = [user_id, before, limit]
|
||||||
else:
|
else:
|
||||||
args = [user_id, limit]
|
args = [user_id, limit]
|
||||||
|
|
||||||
|
if only_highlight:
|
||||||
|
if len(before_clause) > 0:
|
||||||
|
before_clause += " "
|
||||||
|
before_clause += "AND epa.highlight = 1"
|
||||||
|
|
||||||
sql = (
|
sql = (
|
||||||
"SELECT epa.event_id, epa.room_id,"
|
"SELECT epa.event_id, epa.room_id,"
|
||||||
" epa.stream_ordering, epa.topological_ordering,"
|
" epa.stream_ordering, epa.topological_ordering,"
|
||||||
|
|
Loading…
Reference in a new issue