forked from MirrorHub/synapse
Split /login into client_reader
This commit is contained in:
parent
af691e415c
commit
4cc4400b4d
2 changed files with 43 additions and 41 deletions
|
@ -40,6 +40,7 @@ from synapse.replication.slave.storage.registration import SlavedRegistrationSto
|
||||||
from synapse.replication.slave.storage.room import RoomStore
|
from synapse.replication.slave.storage.room import RoomStore
|
||||||
from synapse.replication.slave.storage.transactions import SlavedTransactionStore
|
from synapse.replication.slave.storage.transactions import SlavedTransactionStore
|
||||||
from synapse.replication.tcp.client import ReplicationClientHandler
|
from synapse.replication.tcp.client import ReplicationClientHandler
|
||||||
|
from synapse.rest.client.v1.login import LoginRestServlet
|
||||||
from synapse.rest.client.v1.room import (
|
from synapse.rest.client.v1.room import (
|
||||||
JoinedRoomMemberListRestServlet,
|
JoinedRoomMemberListRestServlet,
|
||||||
PublicRoomListRestServlet,
|
PublicRoomListRestServlet,
|
||||||
|
@ -94,6 +95,7 @@ class ClientReaderServer(HomeServer):
|
||||||
RoomStateRestServlet(self).register(resource)
|
RoomStateRestServlet(self).register(resource)
|
||||||
RoomEventContextServlet(self).register(resource)
|
RoomEventContextServlet(self).register(resource)
|
||||||
RegisterRestServlet(self).register(resource)
|
RegisterRestServlet(self).register(resource)
|
||||||
|
LoginRestServlet(self).register(resource)
|
||||||
|
|
||||||
resources.update({
|
resources.update({
|
||||||
"/_matrix/client/r0": resource,
|
"/_matrix/client/r0": resource,
|
||||||
|
|
|
@ -254,6 +254,47 @@ class RegistrationWorkerStore(SQLBaseStore):
|
||||||
defer.returnValue(ret["guest_access_token"])
|
defer.returnValue(ret["guest_access_token"])
|
||||||
defer.returnValue(None)
|
defer.returnValue(None)
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
|
def get_user_id_by_threepid(self, medium, address):
|
||||||
|
"""Returns user id from threepid
|
||||||
|
|
||||||
|
Args:
|
||||||
|
medium (str): threepid medium e.g. email
|
||||||
|
address (str): threepid address e.g. me@example.com
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Deferred[str|None]: user id or None if no user id/threepid mapping exists
|
||||||
|
"""
|
||||||
|
user_id = yield self.runInteraction(
|
||||||
|
"get_user_id_by_threepid", self.get_user_id_by_threepid_txn,
|
||||||
|
medium, address
|
||||||
|
)
|
||||||
|
defer.returnValue(user_id)
|
||||||
|
|
||||||
|
def get_user_id_by_threepid_txn(self, txn, medium, address):
|
||||||
|
"""Returns user id from threepid
|
||||||
|
|
||||||
|
Args:
|
||||||
|
txn (cursor):
|
||||||
|
medium (str): threepid medium e.g. email
|
||||||
|
address (str): threepid address e.g. me@example.com
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str|None: user id or None if no user id/threepid mapping exists
|
||||||
|
"""
|
||||||
|
ret = self._simple_select_one_txn(
|
||||||
|
txn,
|
||||||
|
"user_threepids",
|
||||||
|
{
|
||||||
|
"medium": medium,
|
||||||
|
"address": address
|
||||||
|
},
|
||||||
|
['user_id'], True
|
||||||
|
)
|
||||||
|
if ret:
|
||||||
|
return ret['user_id']
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
class RegistrationStore(RegistrationWorkerStore,
|
class RegistrationStore(RegistrationWorkerStore,
|
||||||
background_updates.BackgroundUpdateStore):
|
background_updates.BackgroundUpdateStore):
|
||||||
|
@ -613,47 +654,6 @@ class RegistrationStore(RegistrationWorkerStore,
|
||||||
)
|
)
|
||||||
defer.returnValue(ret)
|
defer.returnValue(ret)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
|
||||||
def get_user_id_by_threepid(self, medium, address):
|
|
||||||
"""Returns user id from threepid
|
|
||||||
|
|
||||||
Args:
|
|
||||||
medium (str): threepid medium e.g. email
|
|
||||||
address (str): threepid address e.g. me@example.com
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
Deferred[str|None]: user id or None if no user id/threepid mapping exists
|
|
||||||
"""
|
|
||||||
user_id = yield self.runInteraction(
|
|
||||||
"get_user_id_by_threepid", self.get_user_id_by_threepid_txn,
|
|
||||||
medium, address
|
|
||||||
)
|
|
||||||
defer.returnValue(user_id)
|
|
||||||
|
|
||||||
def get_user_id_by_threepid_txn(self, txn, medium, address):
|
|
||||||
"""Returns user id from threepid
|
|
||||||
|
|
||||||
Args:
|
|
||||||
txn (cursor):
|
|
||||||
medium (str): threepid medium e.g. email
|
|
||||||
address (str): threepid address e.g. me@example.com
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
str|None: user id or None if no user id/threepid mapping exists
|
|
||||||
"""
|
|
||||||
ret = self._simple_select_one_txn(
|
|
||||||
txn,
|
|
||||||
"user_threepids",
|
|
||||||
{
|
|
||||||
"medium": medium,
|
|
||||||
"address": address
|
|
||||||
},
|
|
||||||
['user_id'], True
|
|
||||||
)
|
|
||||||
if ret:
|
|
||||||
return ret['user_id']
|
|
||||||
return None
|
|
||||||
|
|
||||||
def user_delete_threepid(self, user_id, medium, address):
|
def user_delete_threepid(self, user_id, medium, address):
|
||||||
return self._simple_delete(
|
return self._simple_delete(
|
||||||
"user_threepids",
|
"user_threepids",
|
||||||
|
|
Loading…
Reference in a new issue