Skip to content
Snippets Groups Projects
Unverified Commit eea12437 authored by Richard van der Hoff's avatar Richard van der Hoff Committed by GitHub
Browse files

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

These things don't return Deferreds.
parent b4f8dcb4
No related branches found
No related tags found
No related merge requests found
Fix type information on `assert_*_is_admin` methods.
...@@ -510,16 +510,16 @@ class Auth(object): ...@@ -510,16 +510,16 @@ class Auth(object):
request.authenticated_entity = service.sender request.authenticated_entity = service.sender
return defer.succeed(service) return defer.succeed(service)
def is_server_admin(self, user): async def is_server_admin(self, user: UserID) -> bool:
""" Check if the given user is a local server admin. """ Check if the given user is a local server admin.
Args: Args:
user (UserID): user to check user: user to check
Returns: Returns:
bool: True if the user is an admin True if the user is an admin
""" """
return self.store.is_server_admin(user) return await self.store.is_server_admin(user)
def compute_auth_events( def compute_auth_events(
self, event, current_state_ids: StateMap[str], for_verification: bool = False, self, event, current_state_ids: StateMap[str], for_verification: bool = False,
......
...@@ -15,7 +15,11 @@ ...@@ -15,7 +15,11 @@
import re import re
import twisted.web.server
import synapse.api.auth
from synapse.api.errors import AuthError from synapse.api.errors import AuthError
from synapse.types import UserID
def historical_admin_path_patterns(path_regex): def historical_admin_path_patterns(path_regex):
...@@ -55,41 +59,32 @@ def admin_patterns(path_regex: str): ...@@ -55,41 +59,32 @@ def admin_patterns(path_regex: str):
return patterns 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 """Verify that the requester is an admin user
WARNING: MAKE SURE YOU YIELD ON THE RESULT!
Args: Args:
auth (synapse.api.auth.Auth): auth: api.auth.Auth singleton
request (twisted.web.server.Request): incoming request request: incoming request
Returns:
Deferred
Raises: 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) requester = await auth.get_user_by_req(request)
await assert_user_is_admin(auth, requester.user) 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 """Verify that the given user is an admin user
WARNING: MAKE SURE YOU YIELD ON THE RESULT!
Args: Args:
auth (synapse.api.auth.Auth): auth: api.auth.Auth singleton
user_id (UserID): user_id: user to check
Returns:
Deferred
Raises: 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) is_admin = await auth.is_server_admin(user_id)
if not is_admin: if not is_admin:
raise AuthError(403, "You are not a server admin") raise AuthError(403, "You are not a server admin")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment