Add a get_invites_for_user method to the storage to find out the rooms a user is invited to
This commit is contained in:
parent
54414221e4
commit
cacf0688c6
|
@ -297,12 +297,8 @@ class SyncHandler(BaseHandler):
|
|||
if room_sync:
|
||||
joined.append(room_sync)
|
||||
else:
|
||||
invites = yield self.store.get_rooms_for_user_where_membership_is(
|
||||
user_id=sync_config.user.to_string(),
|
||||
membership_list=[Membership.INVITE],
|
||||
)
|
||||
invite_events = yield self.store.get_events(
|
||||
[invite.event_id for invite in invites]
|
||||
invite_events = yield self.store.get_invites_for_user(
|
||||
sync_config.user.to_string()
|
||||
)
|
||||
|
||||
for room_id in joined_room_ids:
|
||||
|
|
|
@ -110,6 +110,20 @@ class RoomMemberStore(SQLBaseStore):
|
|||
membership=membership,
|
||||
).addCallback(self._get_events)
|
||||
|
||||
def get_invites_for_user(self, user_id):
|
||||
""" Get all the invite events for a user
|
||||
Args:
|
||||
user_id (str): The user ID.
|
||||
Returns:
|
||||
A deferred list of event objects.
|
||||
"""
|
||||
|
||||
return self.get_rooms_for_user_where_membership_is(
|
||||
user_id, [Membership.INVITE]
|
||||
).addCallback(lambda invites: self._get_events([
|
||||
invites.event_id for invite in invites
|
||||
]))
|
||||
|
||||
def get_rooms_for_user_where_membership_is(self, user_id, membership_list):
|
||||
""" Get all the rooms for this user where the membership for this user
|
||||
matches one in the membership list.
|
||||
|
|
Loading…
Reference in New Issue