1313# See the License for the specific language governing permissions and
1414# limitations under the License.
1515import logging
16+ from typing import TYPE_CHECKING , Tuple
1617
1718from synapse .api .errors import NotFoundError , SynapseError
1819from synapse .http .servlet import (
1920 RestServlet ,
2021 assert_params_in_dict ,
2122 parse_json_object_from_request ,
2223)
24+ from synapse .http .site import SynapseRequest
2325from synapse .rest .admin ._base import admin_patterns , assert_requester_is_admin
24- from synapse .types import UserID
26+ from synapse .types import JsonDict , UserID
27+
28+ if TYPE_CHECKING :
29+ from synapse .server import HomeServer
2530
2631logger = logging .getLogger (__name__ )
2732
@@ -35,14 +40,16 @@ class DeviceRestServlet(RestServlet):
3540 "/users/(?P<user_id>[^/]*)/devices/(?P<device_id>[^/]*)$" , "v2"
3641 )
3742
38- def __init__ (self , hs ):
43+ def __init__ (self , hs : "HomeServer" ):
3944 super ().__init__ ()
4045 self .hs = hs
4146 self .auth = hs .get_auth ()
4247 self .device_handler = hs .get_device_handler ()
4348 self .store = hs .get_datastore ()
4449
45- async def on_GET (self , request , user_id , device_id ):
50+ async def on_GET (
51+ self , request : SynapseRequest , user_id , device_id : str
52+ ) -> Tuple [int , JsonDict ]:
4653 await assert_requester_is_admin (self .auth , request )
4754
4855 target_user = UserID .from_string (user_id )
@@ -58,7 +65,9 @@ async def on_GET(self, request, user_id, device_id):
5865 )
5966 return 200 , device
6067
61- async def on_DELETE (self , request , user_id , device_id ):
68+ async def on_DELETE (
69+ self , request : SynapseRequest , user_id : str , device_id : str
70+ ) -> Tuple [int , JsonDict ]:
6271 await assert_requester_is_admin (self .auth , request )
6372
6473 target_user = UserID .from_string (user_id )
@@ -72,7 +81,9 @@ async def on_DELETE(self, request, user_id, device_id):
7281 await self .device_handler .delete_device (target_user .to_string (), device_id )
7382 return 200 , {}
7483
75- async def on_PUT (self , request , user_id , device_id ):
84+ async def on_PUT (
85+ self , request : SynapseRequest , user_id : str , device_id : str
86+ ) -> Tuple [int , JsonDict ]:
7687 await assert_requester_is_admin (self .auth , request )
7788
7889 target_user = UserID .from_string (user_id )
@@ -97,7 +108,7 @@ class DevicesRestServlet(RestServlet):
97108
98109 PATTERNS = admin_patterns ("/users/(?P<user_id>[^/]*)/devices$" , "v2" )
99110
100- def __init__ (self , hs ):
111+ def __init__ (self , hs : "HomeServer" ):
101112 """
102113 Args:
103114 hs (synapse.server.HomeServer): server
@@ -107,7 +118,9 @@ def __init__(self, hs):
107118 self .device_handler = hs .get_device_handler ()
108119 self .store = hs .get_datastore ()
109120
110- async def on_GET (self , request , user_id ):
121+ async def on_GET (
122+ self , request : SynapseRequest , user_id : str
123+ ) -> Tuple [int , JsonDict ]:
111124 await assert_requester_is_admin (self .auth , request )
112125
113126 target_user = UserID .from_string (user_id )
@@ -130,13 +143,15 @@ class DeleteDevicesRestServlet(RestServlet):
130143
131144 PATTERNS = admin_patterns ("/users/(?P<user_id>[^/]*)/delete_devices$" , "v2" )
132145
133- def __init__ (self , hs ):
146+ def __init__ (self , hs : "HomeServer" ):
134147 self .hs = hs
135148 self .auth = hs .get_auth ()
136149 self .device_handler = hs .get_device_handler ()
137150 self .store = hs .get_datastore ()
138151
139- async def on_POST (self , request , user_id ):
152+ async def on_POST (
153+ self , request : SynapseRequest , user_id : str
154+ ) -> Tuple [int , JsonDict ]:
140155 await assert_requester_is_admin (self .auth , request )
141156
142157 target_user = UserID .from_string (user_id )
0 commit comments