forked from MirrorHub/synapse
Merge pull request #4759 from matrix-org/erikj/3pid_client_reader
Move /account/3pid to client_reader
This commit is contained in:
commit
76550c58d2
4 changed files with 37 additions and 33 deletions
1
changelog.d/4759.feature
Normal file
1
changelog.d/4759.feature
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Add support for /account/3pid REST endpoint to client_reader worker.
|
|
@ -224,6 +224,7 @@ following regular expressions::
|
||||||
^/_matrix/client/(api/v1|r0|unstable)/rooms/.*/members$
|
^/_matrix/client/(api/v1|r0|unstable)/rooms/.*/members$
|
||||||
^/_matrix/client/(api/v1|r0|unstable)/rooms/.*/state$
|
^/_matrix/client/(api/v1|r0|unstable)/rooms/.*/state$
|
||||||
^/_matrix/client/(api/v1|r0|unstable)/login$
|
^/_matrix/client/(api/v1|r0|unstable)/login$
|
||||||
|
^/_matrix/client/(api/v1|r0|unstable)/account/3pid$
|
||||||
|
|
||||||
Additionally, the following REST endpoints can be handled, but all requests must
|
Additionally, the following REST endpoints can be handled, but all requests must
|
||||||
be routed to the same instance::
|
be routed to the same instance::
|
||||||
|
|
|
@ -48,6 +48,7 @@ from synapse.rest.client.v1.room import (
|
||||||
RoomMemberListRestServlet,
|
RoomMemberListRestServlet,
|
||||||
RoomStateRestServlet,
|
RoomStateRestServlet,
|
||||||
)
|
)
|
||||||
|
from synapse.rest.client.v2_alpha.account import ThreepidRestServlet
|
||||||
from synapse.rest.client.v2_alpha.register import RegisterRestServlet
|
from synapse.rest.client.v2_alpha.register import RegisterRestServlet
|
||||||
from synapse.server import HomeServer
|
from synapse.server import HomeServer
|
||||||
from synapse.storage.engines import create_engine
|
from synapse.storage.engines import create_engine
|
||||||
|
@ -96,6 +97,7 @@ class ClientReaderServer(HomeServer):
|
||||||
RoomEventContextServlet(self).register(resource)
|
RoomEventContextServlet(self).register(resource)
|
||||||
RegisterRestServlet(self).register(resource)
|
RegisterRestServlet(self).register(resource)
|
||||||
LoginRestServlet(self).register(resource)
|
LoginRestServlet(self).register(resource)
|
||||||
|
ThreepidRestServlet(self).register(resource)
|
||||||
|
|
||||||
resources.update({
|
resources.update({
|
||||||
"/_matrix/client/r0": resource,
|
"/_matrix/client/r0": resource,
|
||||||
|
|
|
@ -295,6 +295,39 @@ class RegistrationWorkerStore(SQLBaseStore):
|
||||||
return ret['user_id']
|
return ret['user_id']
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@defer.inlineCallbacks
|
||||||
|
def user_add_threepid(self, user_id, medium, address, validated_at, added_at):
|
||||||
|
yield self._simple_upsert("user_threepids", {
|
||||||
|
"medium": medium,
|
||||||
|
"address": address,
|
||||||
|
}, {
|
||||||
|
"user_id": user_id,
|
||||||
|
"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_id": user_id
|
||||||
|
},
|
||||||
|
['medium', 'address', 'validated_at', 'added_at'],
|
||||||
|
'user_get_threepids'
|
||||||
|
)
|
||||||
|
defer.returnValue(ret)
|
||||||
|
|
||||||
|
def user_delete_threepid(self, user_id, medium, address):
|
||||||
|
return self._simple_delete(
|
||||||
|
"user_threepids",
|
||||||
|
keyvalues={
|
||||||
|
"user_id": user_id,
|
||||||
|
"medium": medium,
|
||||||
|
"address": address,
|
||||||
|
},
|
||||||
|
desc="user_delete_threepids",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class RegistrationStore(RegistrationWorkerStore,
|
class RegistrationStore(RegistrationWorkerStore,
|
||||||
background_updates.BackgroundUpdateStore):
|
background_updates.BackgroundUpdateStore):
|
||||||
|
@ -632,39 +665,6 @@ class RegistrationStore(RegistrationWorkerStore,
|
||||||
|
|
||||||
defer.returnValue(res if res else False)
|
defer.returnValue(res if res else False)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
|
||||||
def user_add_threepid(self, user_id, medium, address, validated_at, added_at):
|
|
||||||
yield self._simple_upsert("user_threepids", {
|
|
||||||
"medium": medium,
|
|
||||||
"address": address,
|
|
||||||
}, {
|
|
||||||
"user_id": user_id,
|
|
||||||
"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_id": user_id
|
|
||||||
},
|
|
||||||
['medium', 'address', 'validated_at', 'added_at'],
|
|
||||||
'user_get_threepids'
|
|
||||||
)
|
|
||||||
defer.returnValue(ret)
|
|
||||||
|
|
||||||
def user_delete_threepid(self, user_id, medium, address):
|
|
||||||
return self._simple_delete(
|
|
||||||
"user_threepids",
|
|
||||||
keyvalues={
|
|
||||||
"user_id": user_id,
|
|
||||||
"medium": medium,
|
|
||||||
"address": address,
|
|
||||||
},
|
|
||||||
desc="user_delete_threepids",
|
|
||||||
)
|
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def save_or_get_3pid_guest_access_token(
|
def save_or_get_3pid_guest_access_token(
|
||||||
self, medium, address, access_token, inviter_user_id
|
self, medium, address, access_token, inviter_user_id
|
||||||
|
|
Loading…
Reference in a new issue