Skip to content

Commit 285c994

Browse files
committed
review: move constants out of function
1 parent 5697cf0 commit 285c994

File tree

1 file changed

+31
-34
lines changed

1 file changed

+31
-34
lines changed

src/lib/database.js

Lines changed: 31 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,26 @@ import logger from './logger.js'
44

55
const COLLECTIONS_INDEX = process.env['COLLECTIONS_INDEX'] || 'collections'
66
const 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

828
let collectionToIndexMapping = null
929
let unrestrictedIndices = null
@@ -175,29 +195,6 @@ function buildQueryExtQuery(query) {
175195
}
176196

177197
function 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

Comments
 (0)