diff options
author | Richard van der Hoff <richard@matrix.org> | 2016-07-20 17:58:44 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2016-07-21 12:00:29 +0100 |
commit | 406f7aa0f6ca7433e52433485824e80b79930498 (patch) | |
tree | aee4eb5c403d7f22b077e43c7c5cb5bc86453937 /synapse/rest | |
parent | Merge branch 'rav/get_devices_api' into develop (diff) | |
download | synapse-406f7aa0f6ca7433e52433485824e80b79930498.tar.xz |
Implement GET /device/{deviceId}
Diffstat (limited to 'synapse/rest')
-rw-r--r-- | synapse/rest/client/v2_alpha/devices.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/synapse/rest/client/v2_alpha/devices.py b/synapse/rest/client/v2_alpha/devices.py index 5cf8bd1afa..8b9ab4f674 100644 --- a/synapse/rest/client/v2_alpha/devices.py +++ b/synapse/rest/client/v2_alpha/devices.py @@ -47,5 +47,30 @@ class DevicesRestServlet(RestServlet): defer.returnValue((200, {"devices": devices})) +class DeviceRestServlet(RestServlet): + PATTERNS = client_v2_patterns("/devices/(?P<device_id>[^/]*)$", + releases=[], v2_alpha=False) + + def __init__(self, hs): + """ + Args: + hs (synapse.server.HomeServer): server + """ + super(DeviceRestServlet, self).__init__() + self.hs = hs + self.auth = hs.get_auth() + self.device_handler = hs.get_device_handler() + + @defer.inlineCallbacks + def on_GET(self, request, device_id): + requester = yield self.auth.get_user_by_req(request) + device = yield self.device_handler.get_device( + requester.user.to_string(), + device_id, + ) + defer.returnValue((200, device)) + + def register_servlets(hs, http_server): DevicesRestServlet(hs).register(http_server) + DeviceRestServlet(hs).register(http_server) |