Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 287918e

Browse files
authored
Additional type hints for the client REST servlets (part 3). (#10707)
1 parent 78e590d commit 287918e

File tree

7 files changed

+306
-150
lines changed

7 files changed

+306
-150
lines changed

changelog.d/10707.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add missing type hints to REST servlets.

synapse/rest/client/account_data.py

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,19 @@
1313
# limitations under the License.
1414

1515
import logging
16+
from typing import TYPE_CHECKING, Tuple
1617

1718
from synapse.api.errors import AuthError, NotFoundError, SynapseError
19+
from synapse.http.server import HttpServer
1820
from synapse.http.servlet import RestServlet, parse_json_object_from_request
21+
from synapse.http.site import SynapseRequest
22+
from synapse.types import JsonDict
1923

2024
from ._base import client_patterns
2125

26+
if TYPE_CHECKING:
27+
from synapse.server import HomeServer
28+
2229
logger = logging.getLogger(__name__)
2330

2431

@@ -32,13 +39,15 @@ class AccountDataServlet(RestServlet):
3239
"/user/(?P<user_id>[^/]*)/account_data/(?P<account_data_type>[^/]*)"
3340
)
3441

35-
def __init__(self, hs):
42+
def __init__(self, hs: "HomeServer"):
3643
super().__init__()
3744
self.auth = hs.get_auth()
3845
self.store = hs.get_datastore()
3946
self.handler = hs.get_account_data_handler()
4047

41-
async def on_PUT(self, request, user_id, account_data_type):
48+
async def on_PUT(
49+
self, request: SynapseRequest, user_id: str, account_data_type: str
50+
) -> Tuple[int, JsonDict]:
4251
requester = await self.auth.get_user_by_req(request)
4352
if user_id != requester.user.to_string():
4453
raise AuthError(403, "Cannot add account data for other users.")
@@ -49,7 +58,9 @@ async def on_PUT(self, request, user_id, account_data_type):
4958

5059
return 200, {}
5160

52-
async def on_GET(self, request, user_id, account_data_type):
61+
async def on_GET(
62+
self, request: SynapseRequest, user_id: str, account_data_type: str
63+
) -> Tuple[int, JsonDict]:
5364
requester = await self.auth.get_user_by_req(request)
5465
if user_id != requester.user.to_string():
5566
raise AuthError(403, "Cannot get account data for other users.")
@@ -76,13 +87,19 @@ class RoomAccountDataServlet(RestServlet):
7687
"/account_data/(?P<account_data_type>[^/]*)"
7788
)
7889

79-
def __init__(self, hs):
90+
def __init__(self, hs: "HomeServer"):
8091
super().__init__()
8192
self.auth = hs.get_auth()
8293
self.store = hs.get_datastore()
8394
self.handler = hs.get_account_data_handler()
8495

85-
async def on_PUT(self, request, user_id, room_id, account_data_type):
96+
async def on_PUT(
97+
self,
98+
request: SynapseRequest,
99+
user_id: str,
100+
room_id: str,
101+
account_data_type: str,
102+
) -> Tuple[int, JsonDict]:
86103
requester = await self.auth.get_user_by_req(request)
87104
if user_id != requester.user.to_string():
88105
raise AuthError(403, "Cannot add account data for other users.")
@@ -102,7 +119,13 @@ async def on_PUT(self, request, user_id, room_id, account_data_type):
102119

103120
return 200, {}
104121

105-
async def on_GET(self, request, user_id, room_id, account_data_type):
122+
async def on_GET(
123+
self,
124+
request: SynapseRequest,
125+
user_id: str,
126+
room_id: str,
127+
account_data_type: str,
128+
) -> Tuple[int, JsonDict]:
106129
requester = await self.auth.get_user_by_req(request)
107130
if user_id != requester.user.to_string():
108131
raise AuthError(403, "Cannot get account data for other users.")
@@ -117,6 +140,6 @@ async def on_GET(self, request, user_id, room_id, account_data_type):
117140
return 200, event
118141

119142

120-
def register_servlets(hs, http_server):
143+
def register_servlets(hs: "HomeServer", http_server: HttpServer) -> None:
121144
AccountDataServlet(hs).register(http_server)
122145
RoomAccountDataServlet(hs).register(http_server)

synapse/rest/client/groups.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ async def on_PUT(
156156
group_id: str,
157157
category_id: Optional[str],
158158
room_id: str,
159-
):
159+
) -> Tuple[int, JsonDict]:
160160
requester = await self.auth.get_user_by_req(request)
161161
requester_user_id = requester.user.to_string()
162162

@@ -188,7 +188,7 @@ async def on_PUT(
188188
@_validate_group_id
189189
async def on_DELETE(
190190
self, request: SynapseRequest, group_id: str, category_id: str, room_id: str
191-
):
191+
) -> Tuple[int, JsonDict]:
192192
requester = await self.auth.get_user_by_req(request)
193193
requester_user_id = requester.user.to_string()
194194

@@ -451,7 +451,7 @@ async def on_PUT(
451451
@_validate_group_id
452452
async def on_DELETE(
453453
self, request: SynapseRequest, group_id: str, role_id: str, user_id: str
454-
):
454+
) -> Tuple[int, JsonDict]:
455455
requester = await self.auth.get_user_by_req(request)
456456
requester_user_id = requester.user.to_string()
457457

@@ -674,7 +674,7 @@ def __init__(self, hs: "HomeServer"):
674674
@_validate_group_id
675675
async def on_PUT(
676676
self, request: SynapseRequest, group_id: str, room_id: str, config_key: str
677-
):
677+
) -> Tuple[int, JsonDict]:
678678
requester = await self.auth.get_user_by_req(request)
679679
requester_user_id = requester.user.to_string()
680680

@@ -706,7 +706,7 @@ def __init__(self, hs: "HomeServer"):
706706

707707
@_validate_group_id
708708
async def on_PUT(
709-
self, request: SynapseRequest, group_id, user_id
709+
self, request: SynapseRequest, group_id: str, user_id: str
710710
) -> Tuple[int, JsonDict]:
711711
requester = await self.auth.get_user_by_req(request)
712712
requester_user_id = requester.user.to_string()
@@ -738,7 +738,7 @@ def __init__(self, hs: "HomeServer"):
738738

739739
@_validate_group_id
740740
async def on_PUT(
741-
self, request: SynapseRequest, group_id, user_id
741+
self, request: SynapseRequest, group_id: str, user_id: str
742742
) -> Tuple[int, JsonDict]:
743743
requester = await self.auth.get_user_by_req(request)
744744
requester_user_id = requester.user.to_string()

synapse/rest/client/receipts.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,20 @@
1313
# limitations under the License.
1414

1515
import logging
16+
from typing import TYPE_CHECKING, Tuple
1617

1718
from synapse.api.constants import ReadReceiptEventFields
1819
from synapse.api.errors import Codes, SynapseError
20+
from synapse.http.server import HttpServer
1921
from synapse.http.servlet import RestServlet, parse_json_object_from_request
22+
from synapse.http.site import SynapseRequest
23+
from synapse.types import JsonDict
2024

2125
from ._base import client_patterns
2226

27+
if TYPE_CHECKING:
28+
from synapse.server import HomeServer
29+
2330
logger = logging.getLogger(__name__)
2431

2532

@@ -30,14 +37,16 @@ class ReceiptRestServlet(RestServlet):
3037
"/(?P<event_id>[^/]*)$"
3138
)
3239

33-
def __init__(self, hs):
40+
def __init__(self, hs: "HomeServer"):
3441
super().__init__()
3542
self.hs = hs
3643
self.auth = hs.get_auth()
3744
self.receipts_handler = hs.get_receipts_handler()
3845
self.presence_handler = hs.get_presence_handler()
3946

40-
async def on_POST(self, request, room_id, receipt_type, event_id):
47+
async def on_POST(
48+
self, request: SynapseRequest, room_id: str, receipt_type: str, event_id: str
49+
) -> Tuple[int, JsonDict]:
4150
requester = await self.auth.get_user_by_req(request)
4251

4352
if receipt_type != "m.read":
@@ -67,5 +76,5 @@ async def on_POST(self, request, room_id, receipt_type, event_id):
6776
return 200, {}
6877

6978

70-
def register_servlets(hs, http_server):
79+
def register_servlets(hs: "HomeServer", http_server: HttpServer) -> None:
7180
ReceiptRestServlet(hs).register(http_server)

0 commit comments

Comments
 (0)