mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-31 13:44:16 -04:00
Additional type hints for client REST servlets (part 4) (#10728)
This commit is contained in:
parent
dc75fb7f05
commit
d1f1b46c2c
9 changed files with 145 additions and 100 deletions
|
@ -13,16 +13,23 @@
|
|||
# limitations under the License.
|
||||
|
||||
import logging
|
||||
from typing import TYPE_CHECKING, Optional, Tuple
|
||||
|
||||
from synapse.api.errors import Codes, NotFoundError, SynapseError
|
||||
from synapse.http.server import HttpServer
|
||||
from synapse.http.servlet import (
|
||||
RestServlet,
|
||||
parse_json_object_from_request,
|
||||
parse_string,
|
||||
)
|
||||
from synapse.http.site import SynapseRequest
|
||||
from synapse.types import JsonDict
|
||||
|
||||
from ._base import client_patterns
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from synapse.server import HomeServer
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
@ -31,16 +38,14 @@ class RoomKeysServlet(RestServlet):
|
|||
"/room_keys/keys(/(?P<room_id>[^/]+))?(/(?P<session_id>[^/]+))?$"
|
||||
)
|
||||
|
||||
def __init__(self, hs):
|
||||
"""
|
||||
Args:
|
||||
hs (synapse.server.HomeServer): server
|
||||
"""
|
||||
def __init__(self, hs: "HomeServer"):
|
||||
super().__init__()
|
||||
self.auth = hs.get_auth()
|
||||
self.e2e_room_keys_handler = hs.get_e2e_room_keys_handler()
|
||||
|
||||
async def on_PUT(self, request, room_id, session_id):
|
||||
async def on_PUT(
|
||||
self, request: SynapseRequest, room_id: Optional[str], session_id: Optional[str]
|
||||
) -> Tuple[int, JsonDict]:
|
||||
"""
|
||||
Uploads one or more encrypted E2E room keys for backup purposes.
|
||||
room_id: the ID of the room the keys are for (optional)
|
||||
|
@ -133,7 +138,9 @@ class RoomKeysServlet(RestServlet):
|
|||
ret = await self.e2e_room_keys_handler.upload_room_keys(user_id, version, body)
|
||||
return 200, ret
|
||||
|
||||
async def on_GET(self, request, room_id, session_id):
|
||||
async def on_GET(
|
||||
self, request: SynapseRequest, room_id: Optional[str], session_id: Optional[str]
|
||||
) -> Tuple[int, JsonDict]:
|
||||
"""
|
||||
Retrieves one or more encrypted E2E room keys for backup purposes.
|
||||
Symmetric with the PUT version of the API.
|
||||
|
@ -215,7 +222,9 @@ class RoomKeysServlet(RestServlet):
|
|||
|
||||
return 200, room_keys
|
||||
|
||||
async def on_DELETE(self, request, room_id, session_id):
|
||||
async def on_DELETE(
|
||||
self, request: SynapseRequest, room_id: Optional[str], session_id: Optional[str]
|
||||
) -> Tuple[int, JsonDict]:
|
||||
"""
|
||||
Deletes one or more encrypted E2E room keys for a user for backup purposes.
|
||||
|
||||
|
@ -242,16 +251,12 @@ class RoomKeysServlet(RestServlet):
|
|||
class RoomKeysNewVersionServlet(RestServlet):
|
||||
PATTERNS = client_patterns("/room_keys/version$")
|
||||
|
||||
def __init__(self, hs):
|
||||
"""
|
||||
Args:
|
||||
hs (synapse.server.HomeServer): server
|
||||
"""
|
||||
def __init__(self, hs: "HomeServer"):
|
||||
super().__init__()
|
||||
self.auth = hs.get_auth()
|
||||
self.e2e_room_keys_handler = hs.get_e2e_room_keys_handler()
|
||||
|
||||
async def on_POST(self, request):
|
||||
async def on_POST(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
|
||||
"""
|
||||
Create a new backup version for this user's room_keys with the given
|
||||
info. The version is allocated by the server and returned to the user
|
||||
|
@ -295,16 +300,14 @@ class RoomKeysNewVersionServlet(RestServlet):
|
|||
class RoomKeysVersionServlet(RestServlet):
|
||||
PATTERNS = client_patterns("/room_keys/version(/(?P<version>[^/]+))?$")
|
||||
|
||||
def __init__(self, hs):
|
||||
"""
|
||||
Args:
|
||||
hs (synapse.server.HomeServer): server
|
||||
"""
|
||||
def __init__(self, hs: "HomeServer"):
|
||||
super().__init__()
|
||||
self.auth = hs.get_auth()
|
||||
self.e2e_room_keys_handler = hs.get_e2e_room_keys_handler()
|
||||
|
||||
async def on_GET(self, request, version):
|
||||
async def on_GET(
|
||||
self, request: SynapseRequest, version: Optional[str]
|
||||
) -> Tuple[int, JsonDict]:
|
||||
"""
|
||||
Retrieve the version information about a given version of the user's
|
||||
room_keys backup. If the version part is missing, returns info about the
|
||||
|
@ -332,7 +335,9 @@ class RoomKeysVersionServlet(RestServlet):
|
|||
raise SynapseError(404, "No backup found", Codes.NOT_FOUND)
|
||||
return 200, info
|
||||
|
||||
async def on_DELETE(self, request, version):
|
||||
async def on_DELETE(
|
||||
self, request: SynapseRequest, version: Optional[str]
|
||||
) -> Tuple[int, JsonDict]:
|
||||
"""
|
||||
Delete the information about a given version of the user's
|
||||
room_keys backup. If the version part is missing, deletes the most
|
||||
|
@ -351,7 +356,9 @@ class RoomKeysVersionServlet(RestServlet):
|
|||
await self.e2e_room_keys_handler.delete_version(user_id, version)
|
||||
return 200, {}
|
||||
|
||||
async def on_PUT(self, request, version):
|
||||
async def on_PUT(
|
||||
self, request: SynapseRequest, version: Optional[str]
|
||||
) -> Tuple[int, JsonDict]:
|
||||
"""
|
||||
Update the information about a given version of the user's room_keys backup.
|
||||
|
||||
|
@ -385,7 +392,7 @@ class RoomKeysVersionServlet(RestServlet):
|
|||
return 200, {}
|
||||
|
||||
|
||||
def register_servlets(hs, http_server):
|
||||
def register_servlets(hs: "HomeServer", http_server: HttpServer) -> None:
|
||||
RoomKeysServlet(hs).register(http_server)
|
||||
RoomKeysVersionServlet(hs).register(http_server)
|
||||
RoomKeysNewVersionServlet(hs).register(http_server)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue