Skip to content

Commit 65e46a8

Browse files
authored
Merge pull request #404 from topcoder-platform/features/support-prize-range-filter
support filtering challenges by prize range
2 parents bbdece6 + a02b211 commit 65e46a8

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

docs/swagger.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,18 @@ paths:
190190
required: false
191191
default: true
192192
type: boolean
193+
- name: totalPrizesFrom
194+
in: query
195+
description: >-
196+
Filter by the lowest amount of total prizes on the challenge
197+
type: number
198+
required: false
199+
- name: totalPrizesTo
200+
in: query
201+
description: >-
202+
Filter by the highest amount of total prizes on the challenge
203+
type: number
204+
required: false
193205
- name: events
194206
in: query
195207
description: >-

src/services/ChallengeService.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,17 @@ async function searchChallenges (currentUser, criteria) {
264264
})
265265
}
266266

267+
if (criteria.totalPrizesFrom || criteria.totalPrizesTo) {
268+
const prizeRangeQuery = {}
269+
if (criteria.totalPrizesFrom) {
270+
prizeRangeQuery.gte = criteria.totalPrizesFrom
271+
}
272+
if (criteria.totalPrizesTo) {
273+
prizeRangeQuery.lte = criteria.totalPrizesTo
274+
}
275+
boolQuery.push({ range: { 'overview.totalPrizes': prizeRangeQuery } })
276+
}
277+
267278
if (criteria.useSchedulingAPI) {
268279
boolQuery.push({ match_phrase: { 'legacy.useSchedulingAPI': criteria.useSchedulingAPI } })
269280
}
@@ -681,7 +692,9 @@ searchChallenges.schema = {
681692
taskMemberId: Joi.string(),
682693
events: Joi.array().items(Joi.string()),
683694
includeAllEvents: Joi.boolean().default(true),
684-
useSchedulingAPI: Joi.boolean()
695+
useSchedulingAPI: Joi.boolean(),
696+
totalPrizesFrom: Joi.number().min(0),
697+
totalPrizesTo: Joi.number().min(0)
685698
}).unknown(true)
686699
}
687700

0 commit comments

Comments
 (0)