diff options
author | Erik Johnston <erik@matrix.org> | 2017-08-25 16:23:58 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2017-08-25 16:23:58 +0100 |
commit | 4a9b1cf25300eedf66aaefcb36e23f5fadf2b57a (patch) | |
tree | 62e646b2c99919f1acb2c4eb21d25d4dd701685a /synapse/handlers/profile.py | |
parent | Fix typos and reinherit (diff) | |
download | synapse-4a9b1cf25300eedf66aaefcb36e23f5fadf2b57a.tar.xz |
Add user profiles to summary from group server
Diffstat (limited to 'synapse/handlers/profile.py')
-rw-r--r-- | synapse/handlers/profile.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/synapse/handlers/profile.py b/synapse/handlers/profile.py index c3cee38a43..e56e0a52bf 100644 --- a/synapse/handlers/profile.py +++ b/synapse/handlers/profile.py @@ -72,6 +72,29 @@ class ProfileHandler(BaseHandler): raise @defer.inlineCallbacks + def get_profile_from_cache(self, user_id): + """Get the profile information from our local cache. If the user is + ours then the profile information will always be corect. Otherwise, + it may be out of date/missing. + """ + target_user = UserID.from_string(user_id) + if self.hs.is_mine(target_user): + displayname = yield self.store.get_profile_displayname( + target_user.localpart + ) + avatar_url = yield self.store.get_profile_avatar_url( + target_user.localpart + ) + + defer.returnValue({ + "displayname": displayname, + "avatar_url": avatar_url, + }) + else: + profile = yield self.store.get_from_remote_profile_cache(user_id) + defer.returnValue(profile or {}) + + @defer.inlineCallbacks def get_displayname(self, target_user): if self.hs.is_mine(target_user): displayname = yield self.store.get_profile_displayname( |