1313# limitations under the License.
1414
1515import logging
16+ from typing import TYPE_CHECKING , Tuple
1617
1718from synapse .api .errors import AuthError , NotFoundError , SynapseError
19+ from synapse .http .server import HttpServer
1820from synapse .http .servlet import RestServlet , parse_json_object_from_request
21+ from synapse .http .site import SynapseRequest
22+ from synapse .types import JsonDict
1923
2024from ._base import client_patterns
2125
26+ if TYPE_CHECKING :
27+ from synapse .server import HomeServer
28+
2229logger = 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 )
0 commit comments