summary refs log tree commit diff
path: root/synapse/storage
diff options
context:
space:
mode:
authorWill Hunt <will@half-shot.uk>2022-05-04 19:33:26 +0100
committerGitHub <noreply@github.com>2022-05-04 19:33:26 +0100
commit2d74a8c17876ed235249b1423d63c920c614a530 (patch)
tree49cfa324c04e10ca0fba48d6b2f756f119f8d903 /synapse/storage
parentUse `getClientAddress` instead of `getClientIP`. (#12599) (diff)
downloadsynapse-2d74a8c17876ed235249b1423d63c920c614a530.tar.xz
Add `mau_appservice_trial_days` config (#12619)
* Add mau_appservice_trial_days

* Add a test

* Tweaks

* changelog

* Ensure we sync after the delay

* Fix types

* Add config statement

* Fix test

* Reinstate logging that got removed

* Fix feature name
Diffstat (limited to 'synapse/storage')
-rw-r--r--synapse/storage/databases/main/registration.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/synapse/storage/databases/main/registration.py b/synapse/storage/databases/main/registration.py

index d43163c27c..4991360b70 100644 --- a/synapse/storage/databases/main/registration.py +++ b/synapse/storage/databases/main/registration.py
@@ -215,7 +215,8 @@ class RegistrationWorkerStore(CacheInvalidationWorkerStore): async def is_trial_user(self, user_id: str) -> bool: """Checks if user is in the "trial" period, i.e. within the first - N days of registration defined by `mau_trial_days` config + N days of registration defined by `mau_trial_days` config or the + `mau_appservice_trial_days` config. Args: user_id: The user to check for trial status. @@ -226,7 +227,10 @@ class RegistrationWorkerStore(CacheInvalidationWorkerStore): return False now = self._clock.time_msec() - trial_duration_ms = self.config.server.mau_trial_days * 24 * 60 * 60 * 1000 + days = self.config.server.mau_appservice_trial_days.get( + info["appservice_id"], self.config.server.mau_trial_days + ) + trial_duration_ms = days * 24 * 60 * 60 * 1000 is_trial = (now - info["creation_ts"] * 1000) < trial_duration_ms return is_trial