From 7c938668afab467082cb05370605e4df58225afe Mon Sep 17 00:00:00 2001 From: Matlink Date: Thu, 4 Jan 2024 21:48:10 +0100 Subject: [PATCH] Simplify group membership check Co-authored-by: Stefan Melmuk <509385+stefan0xC@users.noreply.github.com> --- src/api/core/organizations.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/api/core/organizations.rs b/src/api/core/organizations.rs index 282da507..7a4aaee2 100644 --- a/src/api/core/organizations.rs +++ b/src/api/core/organizations.rs @@ -362,10 +362,12 @@ async fn get_org_collections_details(org_id: &str, headers: ManagerHeadersLoose, }) .collect(); - // if current user is in any collection-assigned group - // or in a group having access to all collections - // or itself has access to all collections - assigned = assigned || has_collection_access_via_group.contains(&user_org.uuid); + // if the current user is not assigned and groups are enabled, + // check if they have access to the given collection via a group + if !assigned && CONFIG.org_groups_enabled() + { + assigned = GroupUser::get_group_members_for_collection(&col.uuid, &mut conn).await.contains(&user_org.uuid); + } let mut json_object = col.to_json(); json_object["Assigned"] = json!(assigned);