mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 21:24:51 -04:00
Add functionality to remove deactivated users from the monthly_active_users table (#10947)
* add test * add function to remove user from monthly active table in deactivate code * add function to remove user from monthly active table * add changelog entry * update changelog number * requested changes * update docstring on new function * fix lint error * Update synapse/storage/databases/main/monthly_active_users.py Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
This commit is contained in:
parent
30f0240401
commit
eda8c88b84
4 changed files with 63 additions and 3 deletions
|
@ -354,3 +354,27 @@ class MonthlyActiveUsersStore(MonthlyActiveUsersWorkerStore):
|
|||
await self.upsert_monthly_active_user(user_id)
|
||||
elif now - last_seen_timestamp > LAST_SEEN_GRANULARITY:
|
||||
await self.upsert_monthly_active_user(user_id)
|
||||
|
||||
async def remove_deactivated_user_from_mau_table(self, user_id: str) -> None:
|
||||
"""
|
||||
Removes a deactivated user from the monthly active user
|
||||
table and resets affected caches.
|
||||
|
||||
Args:
|
||||
user_id(str): the user_id to remove
|
||||
"""
|
||||
|
||||
rows_deleted = await self.db_pool.simple_delete(
|
||||
table="monthly_active_users",
|
||||
keyvalues={"user_id": user_id},
|
||||
desc="simple_delete",
|
||||
)
|
||||
|
||||
if rows_deleted != 0:
|
||||
await self.invalidate_cache_and_stream(
|
||||
"user_last_seen_monthly_active", (user_id,)
|
||||
)
|
||||
await self.invalidate_cache_and_stream("get_monthly_active_count", ())
|
||||
await self.invalidate_cache_and_stream(
|
||||
"get_monthly_active_count_by_service", ()
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue