diff options
author | Mark Haines <mark.haines@matrix.org> | 2015-10-13 14:08:38 +0100 |
---|---|---|
committer | Mark Haines <mark.haines@matrix.org> | 2015-10-13 14:08:38 +0100 |
commit | cacf0688c691517dab55c3cff294b6bac7f0d6e3 (patch) | |
tree | 62e8683d57e5d1f66824d1aa5eba3f9a0862f3dd /synapse/storage/roommember.py | |
parent | Include invites in incremental sync (diff) | |
download | synapse-cacf0688c691517dab55c3cff294b6bac7f0d6e3.tar.xz |
Add a get_invites_for_user method to the storage to find out the rooms a user is invited to
Diffstat (limited to 'synapse/storage/roommember.py')
-rw-r--r-- | synapse/storage/roommember.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/synapse/storage/roommember.py b/synapse/storage/roommember.py index 8c40d9a8a6..dd98dcfda8 100644 --- a/synapse/storage/roommember.py +++ b/synapse/storage/roommember.py @@ -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. |