Skip to content
Snippets Groups Projects
Commit ce6d4914 authored by Erik Johnston's avatar Erik Johnston
Browse files

Correctly wire in update group profile over federation

parent 1de55797
No related branches found
No related tags found
No related merge requests found
...@@ -485,6 +485,26 @@ class TransportLayerClient(object): ...@@ -485,6 +485,26 @@ class TransportLayerClient(object):
ignore_backoff=True, ignore_backoff=True,
) )
@log_function
def update_group_profile(self, destination, group_id, requester_user_id, content):
"""Update a remote group profile
Args:
destination (str)
group_id (str)
requester_user_id (str)
content (dict): The new profile of the group
"""
path = PREFIX + "/groups/%s/profile" % (group_id,)
return self.client.post_json(
destination=destination,
path=path,
args={"requester_user_id": requester_user_id},
data=content,
ignore_backoff=True,
)
@log_function @log_function
def get_group_summary(self, destination, group_id, requester_user_id): def get_group_summary(self, destination, group_id, requester_user_id):
"""Get a group summary """Get a group summary
......
...@@ -610,7 +610,7 @@ class FederationVersionServlet(BaseFederationServlet): ...@@ -610,7 +610,7 @@ class FederationVersionServlet(BaseFederationServlet):
class FederationGroupsProfileServlet(BaseFederationServlet): class FederationGroupsProfileServlet(BaseFederationServlet):
"""Get the basic profile of a group on behalf of a user """Get/set the basic profile of a group on behalf of a user
""" """
PATH = "/groups/(?P<group_id>[^/]*)/profile$" PATH = "/groups/(?P<group_id>[^/]*)/profile$"
...@@ -626,30 +626,30 @@ class FederationGroupsProfileServlet(BaseFederationServlet): ...@@ -626,30 +626,30 @@ class FederationGroupsProfileServlet(BaseFederationServlet):
defer.returnValue((200, new_content)) defer.returnValue((200, new_content))
class FederationGroupsSummaryServlet(BaseFederationServlet):
PATH = "/groups/(?P<group_id>[^/]*)/summary$"
@defer.inlineCallbacks @defer.inlineCallbacks
def on_GET(self, origin, content, query, group_id): def on_POST(self, origin, content, query, group_id):
requester_user_id = parse_string_from_args(query, "requester_user_id") requester_user_id = parse_string_from_args(query, "requester_user_id")
if get_domain_from_id(requester_user_id) != origin: if get_domain_from_id(requester_user_id) != origin:
raise SynapseError(403, "requester_user_id doesn't match origin") raise SynapseError(403, "requester_user_id doesn't match origin")
new_content = yield self.handler.get_group_summary( new_content = yield self.handler.update_group_profile(
group_id, requester_user_id group_id, requester_user_id, content
) )
defer.returnValue((200, new_content)) defer.returnValue((200, new_content))
class FederationGroupsSummaryServlet(BaseFederationServlet):
PATH = "/groups/(?P<group_id>[^/]*)/summary$"
@defer.inlineCallbacks @defer.inlineCallbacks
def on_POST(self, origin, content, query, group_id): def on_GET(self, origin, content, query, group_id):
requester_user_id = parse_string_from_args(query, "requester_user_id") requester_user_id = parse_string_from_args(query, "requester_user_id")
if get_domain_from_id(requester_user_id) != origin: if get_domain_from_id(requester_user_id) != origin:
raise SynapseError(403, "requester_user_id doesn't match origin") raise SynapseError(403, "requester_user_id doesn't match origin")
new_content = yield self.handler.update_group_profile( new_content = yield self.handler.get_group_summary(
group_id, requester_user_id, content group_id, requester_user_id
) )
defer.returnValue((200, new_content)) defer.returnValue((200, new_content))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment