Fix type information on assert_*_is_admin methods (#7645)

These things don't return Deferreds.
This commit is contained in:
Richard van der Hoff 2020-06-05 14:33:49 +01:00 committed by GitHub
parent b4f8dcb4bd
commit eea124370b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 23 deletions

View file

@ -15,7 +15,11 @@
import re
import twisted.web.server
import synapse.api.auth
from synapse.api.errors import AuthError
from synapse.types import UserID
def historical_admin_path_patterns(path_regex):
@ -55,41 +59,32 @@ def admin_patterns(path_regex: str):
return patterns
async def assert_requester_is_admin(auth, request):
async def assert_requester_is_admin(
auth: synapse.api.auth.Auth, request: twisted.web.server.Request
) -> None:
"""Verify that the requester is an admin user
WARNING: MAKE SURE YOU YIELD ON THE RESULT!
Args:
auth (synapse.api.auth.Auth):
request (twisted.web.server.Request): incoming request
Returns:
Deferred
auth: api.auth.Auth singleton
request: incoming request
Raises:
AuthError if the requester is not an admin
AuthError if the requester is not a server admin
"""
requester = await auth.get_user_by_req(request)
await assert_user_is_admin(auth, requester.user)
async def assert_user_is_admin(auth, user_id):
async def assert_user_is_admin(auth: synapse.api.auth.Auth, user_id: UserID) -> None:
"""Verify that the given user is an admin user
WARNING: MAKE SURE YOU YIELD ON THE RESULT!
Args:
auth (synapse.api.auth.Auth):
user_id (UserID):
Returns:
Deferred
auth: api.auth.Auth singleton
user_id: user to check
Raises:
AuthError if the user is not an admin
AuthError if the user is not a server admin
"""
is_admin = await auth.is_server_admin(user_id)
if not is_admin:
raise AuthError(403, "You are not a server admin")