From 34565297290216a1063ae3be6af9ecdbd6d8addc Mon Sep 17 00:00:00 2001 From: eisbilir Date: Wed, 1 Nov 2023 14:31:47 +0300 Subject: [PATCH] use groups keyword to filter by groups --- .circleci/config.yml | 1 + src/services/ChallengeService.js | 8 ++------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 61542d09..18ae8c04 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -91,6 +91,7 @@ workflows: only: - dev - PLAT-3614 + - feat/group-search - "build-qa": context: org-global diff --git a/src/services/ChallengeService.js b/src/services/ChallengeService.js index 35f3d7d4..712df13b 100644 --- a/src/services/ChallengeService.js +++ b/src/services/ChallengeService.js @@ -533,16 +533,12 @@ async function searchChallenges(currentUser, criteria) { mustNotQuery.push({ exists: { field: "groups" } }); } else if (!currentUser.isMachine && !_hasAdminRole) { // If the user is not M2M and is not an admin, return public + challenges from groups the user can access - _.each(accessibleGroups, (g) => { - groupsQuery.push({ match_phrase: { groups: g } }); - }); + groupsQuery.push({ terms: { "groups.keyword": accessibleGroups } }); // include public challenges groupsQuery.push({ bool: { must_not: { exists: { field: "groups" } } } }); } } else { - _.each(groupsToFilter, (g) => { - groupsQuery.push({ match_phrase: { groups: g } }); - }); + groupsQuery.push({ terms: { "groups.keyword": groupsToFilter } }); } if (criteria.ids) {