Thread 3PU lookup through as far as the AS API object; which currently noöps it
parent
e3e3fbc23a
commit
fa87c981e1
|
@ -71,6 +71,9 @@ class ApplicationServiceApi(SimpleHttpClient):
|
|||
logger.warning("query_alias to %s threw exception %s", uri, ex)
|
||||
defer.returnValue(False)
|
||||
|
||||
def query_3pu(self, service, protocol, fields):
|
||||
return False
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def push_bulk(self, service, events, txn_id=None):
|
||||
events = self._serialize(events)
|
||||
|
|
|
@ -120,6 +120,21 @@ class ApplicationServicesHandler(object):
|
|||
)
|
||||
defer.returnValue(result)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def query_3pu(self, protocol, fields):
|
||||
services = yield self._get_services_for_3pn(protocol)
|
||||
|
||||
# TODO(paul): scattergather
|
||||
results = []
|
||||
for service in services:
|
||||
result = yield self.appservice_api.query_3pu(
|
||||
service, protocol, fields
|
||||
)
|
||||
if result:
|
||||
results.append(result)
|
||||
|
||||
defer.returnValue(results)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def _get_services_for_event(self, event, restrict_to="", alias_list=None):
|
||||
"""Retrieve a list of application services interested in this event.
|
||||
|
@ -163,6 +178,12 @@ class ApplicationServicesHandler(object):
|
|||
]
|
||||
defer.returnValue(interested_list)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def _get_services_for_3pn(self, protocol):
|
||||
# TODO(paul): Filter by protocol
|
||||
services = yield self.store.get_app_services()
|
||||
defer.returnValue(services)
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def _is_unknown_user(self, user_id):
|
||||
if not self.is_mine_id(user_id):
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
|
||||
import logging
|
||||
|
||||
from twisted.internet import defer
|
||||
|
||||
from synapse.http.servlet import RestServlet
|
||||
from ._base import client_v2_patterns
|
||||
|
||||
|
@ -28,10 +30,15 @@ class ThirdPartyUserServlet(RestServlet):
|
|||
|
||||
def __init__(self, hs):
|
||||
super(ThirdPartyUserServlet, self).__init__()
|
||||
pass
|
||||
|
||||
self.appservice_handler = hs.get_application_service_handler()
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def on_GET(self, request, protocol):
|
||||
return (200, {"TODO":"TODO"})
|
||||
fields = {} # TODO
|
||||
results = yield self.appservice_handler.query_3pu(protocol, fields)
|
||||
|
||||
defer.returnValue((200, results))
|
||||
|
||||
|
||||
def register_servlets(hs, http_server):
|
||||
|
|
Loading…
Reference in New Issue