summary refs log tree commit diff
path: root/synapse/storage/registration.py
diff options
context:
space:
mode:
authorOlivier Wilkinson (reivilibre) <olivier@librepush.net>2019-08-27 13:54:38 +0100
committerOlivier Wilkinson (reivilibre) <olivier@librepush.net>2019-08-27 13:54:38 +0100
commitbc754cdeed38be79fac33e84fc2a78307d799676 (patch)
treeaf78f1d2dd225c1fb376684d4efed2e306c0d269 /synapse/storage/registration.py
parentHandle state deltas and turn them into stats deltas (diff)
parentDon't include the room & user stats docs in this PR. (diff)
downloadsynapse-bc754cdeed38be79fac33e84fc2a78307d799676.tar.xz
Merge branch 'rei/rss_inc2' into rei/rss_inc3
Diffstat (limited to 'synapse/storage/registration.py')
-rw-r--r--synapse/storage/registration.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/synapse/storage/registration.py b/synapse/storage/registration.py

index 55e4e84d71..9027b917c1 100644 --- a/synapse/storage/registration.py +++ b/synapse/storage/registration.py
@@ -272,6 +272,14 @@ class RegistrationWorkerStore(SQLBaseStore): @defer.inlineCallbacks def is_server_admin(self, user): + """Determines if a user is an admin of this homeserver. + + Args: + user (UserID): user ID of the user to test + + Returns (bool): + true iff the user is a server admin, false otherwise. + """ res = yield self._simple_select_one_onecol( table="users", keyvalues={"name": user.to_string()}, @@ -282,6 +290,21 @@ class RegistrationWorkerStore(SQLBaseStore): return res if res else False + def set_server_admin(self, user, admin): + """Sets whether a user is an admin of this homeserver. + + Args: + user (UserID): user ID of the user to test + admin (bool): true iff the user is to be a server admin, + false otherwise. + """ + return self._simple_update_one( + table="users", + keyvalues={"name": user.to_string()}, + updatevalues={"admin": 1 if admin else 0}, + desc="set_server_admin", + ) + def _query_for_auth(self, txn, token): sql = ( "SELECT users.name, users.is_guest, access_tokens.id as token_id,"