Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit 56e0ef7

Browse files
committed
Include achievementId in response
1 parent 626a1dc commit 56e0ef7

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

src/common/es-helper.js

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ const USER_FILTER_TO_MODEL = {
5252
queryField: 'name',
5353
esDocumentValueQuery: 'achievements.name',
5454
esDocumentQuery: 'achievements.id.keyword',
55+
esDocumentId: 'achievements.id',
5556
values: []
5657
},
5758
get achievements () { return this.achievement },
@@ -791,6 +792,13 @@ function buildEsQueryToGetAchievements (organizationId, keyword, size) {
791792
field: `${USER_FILTER_TO_MODEL.achievement.esDocumentValueQuery}.keyword`,
792793
include: `.*${keyword.replace(/[^a-zA-Z]/g, c => `[${!isRegexReserved(c) ? c : '\\' + c}]`).replace(/[A-Za-z]/g, c => `[${c.toLowerCase()}${c.toUpperCase()}]`)}.*`,
793794
size: size || 1000
795+
},
796+
aggs: {
797+
ids: {
798+
top_hits: {
799+
_source: [USER_FILTER_TO_MODEL.achievement.esDocumentId, USER_FILTER_TO_MODEL.achievement.esDocumentValueQuery]
800+
}
801+
}
794802
}
795803
}
796804
}
@@ -1418,7 +1426,21 @@ async function searchAchievementValues ({ organizationId, keyword }) {
14181426

14191427
const esResult = await esClient.search(esQuery)
14201428
logger.debug(`ES response ${JSON.stringify(esResult, null, 2)}`)
1421-
const result = esResult.aggregations.achievements.buckets.map(a => ({ name: a.key }))
1429+
const result = esResult.aggregations.achievements.buckets.map(a => {
1430+
let achievementName = a.key
1431+
let achievementId = null
1432+
1433+
for (let achievement of a.ids.hits.hits[0]._source.achievements) {
1434+
if (achievement.name == achievementName) {
1435+
achievementId = achievement.id
1436+
break;
1437+
}
1438+
}
1439+
return {
1440+
id: achievementId,
1441+
name: achievementName
1442+
};
1443+
})
14221444

14231445
return {
14241446
result

0 commit comments

Comments
 (0)