diff --git a/docs/swagger.yaml b/docs/swagger.yaml index cd1de3d..1608721 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -975,6 +975,10 @@ paths: in: "query" description: "The name of the skill" type: "string" + - name: "orderBy" + in: "query" + type: "string" + description: "Specify by which field to sort by. Sorts in ascending order only" responses: "200": description: "OK - the request was successful" diff --git a/src/common/es-helper.js b/src/common/es-helper.js index 3cdf833..6552392 100644 --- a/src/common/es-helper.js +++ b/src/common/es-helper.js @@ -1108,6 +1108,8 @@ async function searchElasticSearch (resource, ...args) { if (params.orderBy) { sortClause = sortClause.concat(await resolveSortClauseFromDb(params.orderBy, authUser, authUserOrganizationId)) } + } else if (params.orderBy) { + sortClause = [{ [`${params.orderBy}.keyword`]: 'asc' }] } // construct ES query @@ -1279,18 +1281,14 @@ async function searchUsers (authUser, filter, params) { const authUserOrganizationId = filter.organizationId const filterKey = Object.keys(userFilters) - console.time('resolveUserFilterFromDb') for (const key of filterKey) { const resolved = await resolveUserFilterFromDb(userFilters[key], authUser, authUserOrganizationId) resolvedUserFilters.push(resolved) } - console.timeEnd('resolveUserFilterFromDb') - console.time('resolveSortClauseFromDb') if (params.orderBy) { sortClause = sortClause.concat(await resolveSortClauseFromDb(params.orderBy, authUser, authUserOrganizationId)) } - console.timeEnd('resolveSortClauseFromDb') const esQuery = { index: queryDoc.index, @@ -1343,9 +1341,7 @@ async function searchUsers (authUser, filter, params) { }) logger.debug(`ES query for searching users: ${JSON.stringify(esQuery, null, 2)}`) - console.time('mainesquery') const { body: docs } = await esClient.search(esQuery) - console.timeEnd('mainesquery') const result = docs.hits.hits.map(hit => hit._source) return { diff --git a/src/modules/skill/service.js b/src/modules/skill/service.js index a869e88..b8039e2 100644 --- a/src/modules/skill/service.js +++ b/src/modules/skill/service.js @@ -22,7 +22,8 @@ const methods = helper.getServiceMethods( { skillProviderId: joi.string(), name: joi.string(), - externalId: joi.string() + externalId: joi.string(), + orderBy: joi.string() }, async query => { const dbQueries = []