@@ -91,27 +91,6 @@ async def set_profile_avatar_url(
9191 desc = "set_profile_avatar_url" ,
9292 )
9393
94-
95- class ProfileStore (ProfileWorkerStore ):
96- async def add_remote_profile_cache (
97- self , user_id : str , displayname : str , avatar_url : str
98- ) -> None :
99- """Ensure we are caching the remote user's profiles.
100-
101- This should only be called when `is_subscribed_remote_profile_for_user`
102- would return true for the user.
103- """
104- await self .db_pool .simple_upsert (
105- table = "remote_profile_cache" ,
106- keyvalues = {"user_id" : user_id },
107- values = {
108- "displayname" : displayname ,
109- "avatar_url" : avatar_url ,
110- "last_check" : self ._clock .time_msec (),
111- },
112- desc = "add_remote_profile_cache" ,
113- )
114-
11594 async def update_remote_profile_cache (
11695 self , user_id : str , displayname : str , avatar_url : str
11796 ) -> int :
@@ -138,6 +117,31 @@ async def maybe_delete_remote_profile_cache(self, user_id):
138117 desc = "delete_remote_profile_cache" ,
139118 )
140119
120+ async def is_subscribed_remote_profile_for_user (self , user_id ):
121+ """Check whether we are interested in a remote user's profile.
122+ """
123+ res = await self .db_pool .simple_select_one_onecol (
124+ table = "group_users" ,
125+ keyvalues = {"user_id" : user_id },
126+ retcol = "user_id" ,
127+ allow_none = True ,
128+ desc = "should_update_remote_profile_cache_for_user" ,
129+ )
130+
131+ if res :
132+ return True
133+
134+ res = await self .db_pool .simple_select_one_onecol (
135+ table = "group_invites" ,
136+ keyvalues = {"user_id" : user_id },
137+ retcol = "user_id" ,
138+ allow_none = True ,
139+ desc = "should_update_remote_profile_cache_for_user" ,
140+ )
141+
142+ if res :
143+ return True
144+
141145 async def get_remote_profile_cache_entries_that_expire (
142146 self , last_checked : int
143147 ) -> Dict [str , str ]:
@@ -160,27 +164,23 @@ def _get_remote_profile_cache_entries_that_expire_txn(txn):
160164 _get_remote_profile_cache_entries_that_expire_txn ,
161165 )
162166
163- async def is_subscribed_remote_profile_for_user (self , user_id ):
164- """Check whether we are interested in a remote user's profile.
165- """
166- res = await self .db_pool .simple_select_one_onecol (
167- table = "group_users" ,
168- keyvalues = {"user_id" : user_id },
169- retcol = "user_id" ,
170- allow_none = True ,
171- desc = "should_update_remote_profile_cache_for_user" ,
172- )
173167
174- if res :
175- return True
168+ class ProfileStore (ProfileWorkerStore ):
169+ async def add_remote_profile_cache (
170+ self , user_id : str , displayname : str , avatar_url : str
171+ ) -> None :
172+ """Ensure we are caching the remote user's profiles.
176173
177- res = await self .db_pool .simple_select_one_onecol (
178- table = "group_invites" ,
174+ This should only be called when `is_subscribed_remote_profile_for_user`
175+ would return true for the user.
176+ """
177+ await self .db_pool .simple_upsert (
178+ table = "remote_profile_cache" ,
179179 keyvalues = {"user_id" : user_id },
180- retcol = "user_id" ,
181- allow_none = True ,
182- desc = "should_update_remote_profile_cache_for_user" ,
180+ values = {
181+ "displayname" : displayname ,
182+ "avatar_url" : avatar_url ,
183+ "last_check" : self ._clock .time_msec (),
184+ },
185+ desc = "add_remote_profile_cache" ,
183186 )
184-
185- if res :
186- return True
0 commit comments