mirror of
https://mau.dev/maunium/synapse.git
synced 2024-12-15 08:03:51 +01:00
Merge pull request #2471 from matrix-org/erikj/group_summary_publicised
Add is_publicised to group summary
This commit is contained in:
commit
0d7c7fd907
1 changed files with 28 additions and 22 deletions
|
@ -96,32 +96,38 @@ class GroupsLocalHandler(object):
|
||||||
res = yield self.groups_server_handler.get_group_summary(
|
res = yield self.groups_server_handler.get_group_summary(
|
||||||
group_id, requester_user_id
|
group_id, requester_user_id
|
||||||
)
|
)
|
||||||
defer.returnValue(res)
|
else:
|
||||||
|
res = yield self.transport_client.get_group_summary(
|
||||||
|
get_domain_from_id(group_id), group_id, requester_user_id,
|
||||||
|
)
|
||||||
|
|
||||||
res = yield self.transport_client.get_group_summary(
|
# Loop through the users and validate the attestations.
|
||||||
get_domain_from_id(group_id), group_id, requester_user_id,
|
chunk = res["users_section"]["users"]
|
||||||
)
|
valid_users = []
|
||||||
|
for entry in chunk:
|
||||||
|
g_user_id = entry["user_id"]
|
||||||
|
attestation = entry.pop("attestation")
|
||||||
|
try:
|
||||||
|
yield self.attestations.verify_attestation(
|
||||||
|
attestation,
|
||||||
|
group_id=group_id,
|
||||||
|
user_id=g_user_id,
|
||||||
|
)
|
||||||
|
valid_users.append(entry)
|
||||||
|
except Exception as e:
|
||||||
|
logger.info("Failed to verify user is in group: %s", e)
|
||||||
|
|
||||||
# Loop through the users and validate the attestations.
|
res["users_section"]["users"] = valid_users
|
||||||
chunk = res["users_section"]["users"]
|
|
||||||
valid_users = []
|
|
||||||
for entry in chunk:
|
|
||||||
g_user_id = entry["user_id"]
|
|
||||||
attestation = entry.pop("attestation")
|
|
||||||
try:
|
|
||||||
yield self.attestations.verify_attestation(
|
|
||||||
attestation,
|
|
||||||
group_id=group_id,
|
|
||||||
user_id=g_user_id,
|
|
||||||
)
|
|
||||||
valid_users.append(entry)
|
|
||||||
except Exception as e:
|
|
||||||
logger.info("Failed to verify user is in group: %s", e)
|
|
||||||
|
|
||||||
res["users_section"]["users"] = valid_users
|
res["users_section"]["users"].sort(key=lambda e: e.get("order", 0))
|
||||||
|
res["rooms_section"]["rooms"].sort(key=lambda e: e.get("order", 0))
|
||||||
|
|
||||||
res["users_section"]["users"].sort(key=lambda e: e.get("order", 0))
|
# Add `is_publicised` flag to indicate whether the user has publicised their
|
||||||
res["rooms_section"]["rooms"].sort(key=lambda e: e.get("order", 0))
|
# membership of the group on their profile
|
||||||
|
result = yield self.store.get_publicised_groups_for_user(requester_user_id)
|
||||||
|
is_publicised = group_id in result
|
||||||
|
|
||||||
|
res.setdefault("user", {})["is_publicised"] = is_publicised
|
||||||
|
|
||||||
defer.returnValue(res)
|
defer.returnValue(res)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue