summary refs log tree commit diff
path: root/synapse/storage/profile.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/storage/profile.py')
-rw-r--r--synapse/storage/profile.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/synapse/storage/profile.py b/synapse/storage/profile.py

index da1db0ebae..485b855ec6 100644 --- a/synapse/storage/profile.py +++ b/synapse/storage/profile.py
@@ -80,7 +80,7 @@ class ProfileWorkerStore(SQLBaseStore): keyvalues={ "batch": batchnum, }, - retcols=("user_id", "displayname", "avatar_url"), + retcols=("user_id", "displayname", "avatar_url", "active"), desc="get_profile_batch", ) @@ -149,6 +149,22 @@ class ProfileStore(ProfileWorkerStore): lock=False # we can do this because user_id has a unique index ) + def set_profile_active(self, user_localpart, active, batchnum): + values = { + "active": int(active), + "batch": batchnum, + } + if not active: + values["avatar_url"] = None + values["displayname"] = None + return self._simple_upsert( + table="profiles", + keyvalues={"user_id": user_localpart}, + values=values, + desc="set_profile_active", + lock=False # we can do this because user_id has a unique index + ) + def add_remote_profile_cache(self, user_id, displayname, avatar_url): """Ensure we are caching the remote user's profiles.