summary refs log tree commit diff
path: root/synapse/storage
diff options
context:
space:
mode:
authorNeil Johnson <neil@matrix.org>2018-09-12 11:58:52 +0100
committerNeil Johnson <neil@matrix.org>2018-09-12 11:58:52 +0100
commit0ddf48672421aa64920342b959dc77432c869889 (patch)
tree98df0de268761c25af8cbd9668b849979adef544 /synapse/storage
parentSpeed up lazy loading (#3827) (diff)
downloadsynapse-0ddf48672421aa64920342b959dc77432c869889.tar.xz
expose number of real reserved users
Diffstat (limited to 'synapse/storage')
-rw-r--r--synapse/storage/monthly_active_users.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/synapse/storage/monthly_active_users.py b/synapse/storage/monthly_active_users.py
index b890c152db..53d125d305 100644
--- a/synapse/storage/monthly_active_users.py
+++ b/synapse/storage/monthly_active_users.py
@@ -147,6 +147,23 @@ class MonthlyActiveUsersStore(SQLBaseStore):
         return self.runInteraction("count_users", _count_users)
 
     @defer.inlineCallbacks
+    def get_reserved_real_user_account(self):
+        """Of the reserved threepids defined in config, how many are associated
+        with registered users?
+
+        Returns:
+            Defered[int]: Number of real reserved users
+        """
+        count = 0
+        for tp in self.hs.config.mau_limits_reserved_threepids:
+            user_id = yield self.hs.get_datastore().get_user_id_by_threepid(
+                tp["medium"], tp["address"]
+            )
+            if user_id:
+                count = count + 1
+        defer.returnValue(count)
+
+    @defer.inlineCallbacks
     def upsert_monthly_active_user(self, user_id):
         """
             Updates or inserts monthly active user member