@@ -4,6 +4,26 @@ import logger from './logger.js'
44
55const COLLECTIONS_INDEX = process . env [ 'COLLECTIONS_INDEX' ] || 'collections'
66const DEFAULT_INDICES = [ '*' , '-.*' , '-collections' ]
7+ const LOGICAL_OP = {
8+ AND : 'and' ,
9+ OR : 'or' ,
10+ NOT : 'not'
11+ }
12+ const COMPARISON_OP = {
13+ EQ : '=' ,
14+ NEQ : '<>' ,
15+ LT : '<' ,
16+ LTE : '<=' ,
17+ GT : '>' ,
18+ GTE : '>=' ,
19+ IS_NULL : 'isNull'
20+ }
21+ const RANGE_TRANSLATION = {
22+ '<' : 'lt' ,
23+ '<=' : 'lte' ,
24+ '>' : 'gt' ,
25+ '>=' : 'gte'
26+ }
727
828let collectionToIndexMapping = null
929let unrestrictedIndices = null
@@ -175,29 +195,6 @@ function buildQueryExtQuery(query) {
175195}
176196
177197function buildFilterExtQuery ( filter ) {
178- const LogicalOp = {
179- AND : 'and' ,
180- OR : 'or' ,
181- NOT : 'not'
182- }
183-
184- const ComparisonOp = {
185- EQ : '=' ,
186- NEQ : '<>' ,
187- LT : '<' ,
188- LTE : '<=' ,
189- GT : '>' ,
190- GTE : '>=' ,
191- IS_NULL : 'isNull'
192- }
193-
194- const RangeTranslation = {
195- '<' : 'lt' ,
196- '<=' : 'lte' ,
197- '>' : 'gt' ,
198- '>=' : 'gte'
199- }
200-
201198 const cql2Field = filter . args [ 0 ] . property
202199
203200 let cql2Value = filter . args [ 1 ]
@@ -207,33 +204,33 @@ function buildFilterExtQuery(filter) {
207204
208205 switch ( filter . op ) {
209206 // recursive cases
210- case LogicalOp . AND :
207+ case LOGICAL_OP . AND :
211208 return {
212209 bool : {
213210 filter : filter . args . map ( buildFilterExtQuery )
214211 }
215212 }
216- case LogicalOp . OR :
213+ case LOGICAL_OP . OR :
217214 return {
218215 bool : {
219216 should : filter . args . map ( buildFilterExtQuery )
220217 }
221218 }
222- case LogicalOp . NOT :
219+ case LOGICAL_OP . NOT :
223220 return {
224221 bool : {
225222 must_not : filter . args . map ( buildFilterExtQuery )
226223 }
227224 }
228225
229226 // direct cases
230- case ComparisonOp . EQ :
227+ case COMPARISON_OP . EQ :
231228 return {
232229 term : {
233230 [ cql2Field ] : cql2Value
234231 }
235232 }
236- case ComparisonOp . NEQ :
233+ case COMPARISON_OP . NEQ :
237234 return {
238235 bool : {
239236 must_not : [
@@ -245,7 +242,7 @@ function buildFilterExtQuery(filter) {
245242 ]
246243 }
247244 }
248- case ComparisonOp . IS_NULL :
245+ case COMPARISON_OP . IS_NULL :
249246 return {
250247 bool : {
251248 must_not : [
@@ -259,14 +256,14 @@ function buildFilterExtQuery(filter) {
259256 }
260257
261258 // range cases
262- case ComparisonOp . LT :
263- case ComparisonOp . LTE :
264- case ComparisonOp . GT :
265- case ComparisonOp . GTE :
259+ case COMPARISON_OP . LT :
260+ case COMPARISON_OP . LTE :
261+ case COMPARISON_OP . GT :
262+ case COMPARISON_OP . GTE :
266263 return {
267264 range : {
268265 [ cql2Field ] : {
269- [ RangeTranslation [ filter . op ] ] : cql2Value
266+ [ RANGE_TRANSLATION [ filter . op ] ] : cql2Value
270267 }
271268 }
272269 }
0 commit comments