diff options
author | David Baker <dave@matrix.org> | 2015-04-17 17:20:18 +0100 |
---|---|---|
committer | David Baker <dave@matrix.org> | 2015-04-17 17:20:18 +0100 |
commit | 117f35ac4ac4f8d344ae1efbc629a3f8bc25f459 (patch) | |
tree | 3813c1155b09bb49b86976eae884b2e8eae2a3f2 /synapse | |
parent | pep8 (diff) | |
download | synapse-117f35ac4ac4f8d344ae1efbc629a3f8bc25f459.tar.xz |
Add endpoint to get threepids from server
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/rest/client/v2_alpha/account.py | 12 | ||||
-rw-r--r-- | synapse/storage/registration.py | 11 |
2 files changed, 23 insertions, 0 deletions
diff --git a/synapse/rest/client/v2_alpha/account.py b/synapse/rest/client/v2_alpha/account.py index 6045b016ef..5ac3ac0f71 100644 --- a/synapse/rest/client/v2_alpha/account.py +++ b/synapse/rest/client/v2_alpha/account.py @@ -89,6 +89,18 @@ class ThreepidRestServlet(RestServlet): self.auth = hs.get_auth() @defer.inlineCallbacks + def on_GET(self, request): + yield run_on_reactor() + + auth_user, _ = yield self.auth.get_user_by_req(request) + + threepids = yield self.hs.get_datastore().user_get_threepids( + auth_user.to_string() + ) + + defer.returnValue((200, {'threepids': threepids})) + + @defer.inlineCallbacks def on_POST(self, request): yield run_on_reactor() diff --git a/synapse/storage/registration.py b/synapse/storage/registration.py index 8f62e5c6f2..08d60f0817 100644 --- a/synapse/storage/registration.py +++ b/synapse/storage/registration.py @@ -186,3 +186,14 @@ class RegistrationStore(SQLBaseStore): "validated_at": validated_at, "added_at": added_at, }) + + @defer.inlineCallbacks + def user_get_threepids(self, user_id): + ret = yield self._simple_select_list( + "user_threepids", { + "user": user_id + }, + ['medium', 'address', 'validated_at', 'added_at'], + 'user_get_threepids' + ) + defer.returnValue(ret) \ No newline at end of file |