@goatlab/fluent-firebase 0.8.3 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -16,6 +16,8 @@ export declare class FirebaseConnector<ModelDTO extends admin.firestore.Document
|
|
|
16
16
|
private collection;
|
|
17
17
|
private readonly entity;
|
|
18
18
|
constructor({ entity, inputSchema, outputSchema }: FirebaseConnectorParams<InputDTO, OutputDTO>);
|
|
19
|
+
private _initialized;
|
|
20
|
+
private _relationshipBuilder;
|
|
19
21
|
initDB(): number;
|
|
20
22
|
/**
|
|
21
23
|
* Insert the data object into the database.
|
|
@@ -21,8 +21,13 @@ class FirebaseConnector extends fluent_2.BaseConnector {
|
|
|
21
21
|
outputSchema || inputSchema;
|
|
22
22
|
this.entity = entity;
|
|
23
23
|
}
|
|
24
|
+
_initialized = false;
|
|
25
|
+
_relationshipBuilder;
|
|
24
26
|
initDB() {
|
|
27
|
+
if (this._initialized)
|
|
28
|
+
return 1;
|
|
25
29
|
const relationShipBuilder = fluent_1.modelGeneratorDataSource.getRepository(this.entity);
|
|
30
|
+
this._relationshipBuilder = relationShipBuilder;
|
|
26
31
|
const name = relationShipBuilder.metadata.givenTableName;
|
|
27
32
|
if (!name) {
|
|
28
33
|
throw new Error(`Could not find table by name. Did you include @f.entity in your model?`);
|
|
@@ -33,6 +38,7 @@ class FirebaseConnector extends fluent_2.BaseConnector {
|
|
|
33
38
|
const { relations } = (0, fluent_1.getRelationsFromModelGenerator)(relationShipBuilder);
|
|
34
39
|
this.modelRelations = relations;
|
|
35
40
|
this.outputKeys = (0, fluent_2.getOutputKeys)(relationShipBuilder) || [];
|
|
41
|
+
this._initialized = true;
|
|
36
42
|
return 1;
|
|
37
43
|
}
|
|
38
44
|
// CREATE
|
|
@@ -63,18 +69,28 @@ class FirebaseConnector extends fluent_2.BaseConnector {
|
|
|
63
69
|
this.initDB();
|
|
64
70
|
const validatedData = this.inputSchema.array().parse(data);
|
|
65
71
|
const batch = admin.firestore().batch();
|
|
66
|
-
|
|
67
|
-
validatedData.
|
|
72
|
+
// Pre-allocate array for better performance
|
|
73
|
+
const dataLength = validatedData.length;
|
|
74
|
+
const batchInserted = new Array(dataLength);
|
|
75
|
+
for (let i = 0; i < dataLength; i++) {
|
|
76
|
+
const d = validatedData[i];
|
|
77
|
+
if (!d)
|
|
78
|
+
continue;
|
|
68
79
|
const id = d['id'] || js_utils_1.Ids.uuid();
|
|
69
80
|
const item = { id, ...d };
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
});
|
|
81
|
+
batch.set(this.collection.doc(id), item);
|
|
82
|
+
batchInserted[i] = item;
|
|
83
|
+
}
|
|
74
84
|
await batch.commit();
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
85
|
+
const resultLength = batchInserted.length;
|
|
86
|
+
const cleanedResults = new Array(resultLength);
|
|
87
|
+
for (let i = 0; i < resultLength; i++) {
|
|
88
|
+
const item = batchInserted[i];
|
|
89
|
+
if (item) {
|
|
90
|
+
cleanedResults[i] = js_utils_1.Objects.clearEmpties(js_utils_1.Objects.deleteNulls(item));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return this.outputSchema.array().parse(cleanedResults);
|
|
78
94
|
}
|
|
79
95
|
// READ
|
|
80
96
|
async findMany(query) {
|
|
@@ -83,40 +99,88 @@ class FirebaseConnector extends fluent_2.BaseConnector {
|
|
|
83
99
|
const results = [];
|
|
84
100
|
if (andQuery) {
|
|
85
101
|
const snapshot = await andQuery.get();
|
|
86
|
-
snapshot.
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
102
|
+
const docs = snapshot.docs;
|
|
103
|
+
const docLength = docs.length;
|
|
104
|
+
// Pre-allocate space for better performance
|
|
105
|
+
const startIdx = results.length;
|
|
106
|
+
results.length = startIdx + docLength;
|
|
107
|
+
for (let i = 0; i < docLength; i++) {
|
|
108
|
+
const doc = docs[i];
|
|
109
|
+
if (doc) {
|
|
110
|
+
results[startIdx + i] = doc.data();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
93
113
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
114
|
+
// Execute OR queries in parallel if there are any
|
|
115
|
+
if (orQueries.length > 0) {
|
|
116
|
+
const orSnapshots = await Promise.all(orQueries.map(q => q.get()));
|
|
117
|
+
// Count total docs for pre-allocation
|
|
118
|
+
let totalOrDocs = 0;
|
|
119
|
+
for (let i = 0; i < orSnapshots.length; i++) {
|
|
120
|
+
const snapshot = orSnapshots[i];
|
|
121
|
+
if (snapshot) {
|
|
122
|
+
totalOrDocs += snapshot.docs.length;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// Pre-allocate space
|
|
126
|
+
const startIdx = results.length;
|
|
127
|
+
results.length = startIdx + totalOrDocs;
|
|
128
|
+
let currentIdx = startIdx;
|
|
129
|
+
for (let i = 0; i < orSnapshots.length; i++) {
|
|
130
|
+
const orSnapshot = orSnapshots[i];
|
|
131
|
+
if (!orSnapshot)
|
|
132
|
+
continue;
|
|
133
|
+
const docs = orSnapshot.docs;
|
|
134
|
+
const docLength = docs.length;
|
|
135
|
+
for (let j = 0; j < docLength; j++) {
|
|
136
|
+
const doc = docs[j];
|
|
137
|
+
if (doc) {
|
|
138
|
+
results[currentIdx++] = doc.data();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
99
142
|
}
|
|
100
143
|
// As there might be duplicated results from the queries,
|
|
101
|
-
// we will deduplicate by ID
|
|
102
|
-
let found
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
144
|
+
// we will deduplicate by ID using a more efficient approach
|
|
145
|
+
let found;
|
|
146
|
+
if (results.length > 0) {
|
|
147
|
+
const dedupeMap = new Map();
|
|
148
|
+
const resultsLength = results.length;
|
|
149
|
+
for (let i = 0; i < resultsLength; i++) {
|
|
150
|
+
const item = results[i];
|
|
151
|
+
if (item && !dedupeMap.has(item.id)) {
|
|
152
|
+
dedupeMap.set(item.id, item);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
found = Array.from(dedupeMap.values());
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
found = [];
|
|
159
|
+
}
|
|
160
|
+
// Process data cleaning in-place
|
|
161
|
+
const foundLength = found.length;
|
|
162
|
+
for (let i = 0; i < foundLength; i++) {
|
|
163
|
+
const item = found[i];
|
|
164
|
+
if (item) {
|
|
165
|
+
js_utils_1.Objects.clearEmpties(js_utils_1.Objects.deleteNulls(item));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
106
168
|
if (query?.include) {
|
|
107
|
-
found = await this.loadRelatedData(found, js_utils_1.Objects.flatten(query
|
|
169
|
+
found = await this.loadRelatedData(found, js_utils_1.Objects.flatten(query.include));
|
|
108
170
|
}
|
|
109
171
|
if (query?.paginated) {
|
|
172
|
+
const perPage = query.paginated.perPage;
|
|
173
|
+
const page = query.paginated.page;
|
|
110
174
|
const paginationInfo = {
|
|
111
175
|
total: 0,
|
|
112
|
-
perPage
|
|
113
|
-
currentPage:
|
|
114
|
-
nextPage:
|
|
176
|
+
perPage,
|
|
177
|
+
currentPage: page,
|
|
178
|
+
nextPage: page + 1,
|
|
115
179
|
firstPage: 1,
|
|
116
|
-
lastPage: Math.ceil(0 /
|
|
117
|
-
prevPage:
|
|
118
|
-
from: (
|
|
119
|
-
to:
|
|
180
|
+
lastPage: Math.ceil(0 / perPage),
|
|
181
|
+
prevPage: page === 1 ? null : page - 1,
|
|
182
|
+
from: (page - 1) * perPage + 1,
|
|
183
|
+
to: perPage * page,
|
|
120
184
|
data: found
|
|
121
185
|
};
|
|
122
186
|
return paginationInfo;
|
|
@@ -138,7 +202,7 @@ class FirebaseConnector extends fluent_2.BaseConnector {
|
|
|
138
202
|
const dataToInsert = this.outputKeys.includes('updated')
|
|
139
203
|
? {
|
|
140
204
|
...data,
|
|
141
|
-
|
|
205
|
+
updated: new Date()
|
|
142
206
|
}
|
|
143
207
|
: data;
|
|
144
208
|
const validatedData = this.inputSchema.parse(dataToInsert);
|
|
@@ -164,10 +228,19 @@ class FirebaseConnector extends fluent_2.BaseConnector {
|
|
|
164
228
|
async replaceById(id, data) {
|
|
165
229
|
this.initDB();
|
|
166
230
|
const value = await this.findById(id);
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
231
|
+
// Avoid JSON parse/stringify overhead - use structured clone if available
|
|
232
|
+
const clonedValue = typeof structuredClone !== 'undefined' ? structuredClone(value) : JSON.parse(JSON.stringify(value));
|
|
233
|
+
const flatValue = js_utils_1.Objects.flatten(clonedValue);
|
|
234
|
+
const keys = Object.keys(flatValue);
|
|
235
|
+
const keysLength = keys.length;
|
|
236
|
+
// Use a more efficient nullification approach
|
|
237
|
+
const nullValue = null;
|
|
238
|
+
for (let i = 0; i < keysLength; i++) {
|
|
239
|
+
const key = keys[i];
|
|
240
|
+
if (key) {
|
|
241
|
+
flatValue[key] = nullValue;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
171
244
|
const nullObject = js_utils_1.Objects.nest(flatValue);
|
|
172
245
|
const newValue = { ...nullObject, ...data };
|
|
173
246
|
delete newValue._id;
|
|
@@ -177,7 +250,7 @@ class FirebaseConnector extends fluent_2.BaseConnector {
|
|
|
177
250
|
const dataToInsert = this.outputKeys.includes('updated')
|
|
178
251
|
? {
|
|
179
252
|
...data,
|
|
180
|
-
|
|
253
|
+
updated: new Date()
|
|
181
254
|
}
|
|
182
255
|
: data;
|
|
183
256
|
const validatedData = this.inputSchema.parse(dataToInsert);
|
|
@@ -247,34 +320,34 @@ class FirebaseConnector extends fluent_2.BaseConnector {
|
|
|
247
320
|
this.initDB();
|
|
248
321
|
return admin.firestore();
|
|
249
322
|
}
|
|
250
|
-
deleteQueryBatch(db, query, batchSize, resolve, reject) {
|
|
323
|
+
async deleteQueryBatch(db, query, batchSize, resolve, reject) {
|
|
251
324
|
this.initDB();
|
|
252
|
-
|
|
253
|
-
.get()
|
|
254
|
-
.then(snapshot => {
|
|
325
|
+
try {
|
|
326
|
+
const snapshot = await query.get();
|
|
255
327
|
// When there are no documents left, we are done
|
|
256
|
-
if (snapshot.size
|
|
257
|
-
|
|
328
|
+
if (snapshot.size === 0) {
|
|
329
|
+
resolve(true);
|
|
330
|
+
return;
|
|
258
331
|
}
|
|
259
332
|
// Delete documents in a batch
|
|
260
333
|
const batch = db.batch();
|
|
261
|
-
snapshot.docs
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
resolve();
|
|
269
|
-
return;
|
|
334
|
+
const docs = snapshot.docs;
|
|
335
|
+
const docsLength = docs.length;
|
|
336
|
+
for (let i = 0; i < docsLength; i++) {
|
|
337
|
+
const doc = docs[i];
|
|
338
|
+
if (doc) {
|
|
339
|
+
batch.delete(doc.ref);
|
|
340
|
+
}
|
|
270
341
|
}
|
|
271
|
-
|
|
272
|
-
//
|
|
273
|
-
|
|
342
|
+
await batch.commit();
|
|
343
|
+
// Use setImmediate for better performance than process.nextTick
|
|
344
|
+
setImmediate(() => {
|
|
274
345
|
this.deleteQueryBatch(db, query, batchSize, resolve, reject);
|
|
275
346
|
});
|
|
276
|
-
}
|
|
277
|
-
|
|
347
|
+
}
|
|
348
|
+
catch (error) {
|
|
349
|
+
reject(error);
|
|
350
|
+
}
|
|
278
351
|
}
|
|
279
352
|
/**
|
|
280
353
|
* Creates a Clone of the current instance of the class
|
|
@@ -282,7 +355,11 @@ class FirebaseConnector extends fluent_2.BaseConnector {
|
|
|
282
355
|
*/
|
|
283
356
|
clone() {
|
|
284
357
|
this.initDB();
|
|
285
|
-
return new this.constructor(
|
|
358
|
+
return new this.constructor({
|
|
359
|
+
entity: this.entity,
|
|
360
|
+
inputSchema: this.inputSchema,
|
|
361
|
+
outputSchema: this.outputSchema
|
|
362
|
+
});
|
|
286
363
|
}
|
|
287
364
|
//////////////////////////////////////////////////////////////
|
|
288
365
|
// ALL OF THESE METHODS PROBABLY SHOULD BE IN SOMEWHERE ELSE
|
|
@@ -302,36 +379,52 @@ class FirebaseConnector extends fluent_2.BaseConnector {
|
|
|
302
379
|
*
|
|
303
380
|
*/
|
|
304
381
|
getGeneratedQueries(query) {
|
|
305
|
-
|
|
306
|
-
let mergedQueries
|
|
382
|
+
const { andWhere, orWhere } = this.getFirebaseWhereQuery(query?.where);
|
|
383
|
+
let mergedQueries;
|
|
307
384
|
if (andWhere) {
|
|
308
385
|
mergedQueries = [andWhere, ...orWhere];
|
|
309
386
|
}
|
|
310
387
|
else {
|
|
311
388
|
mergedQueries = orWhere;
|
|
312
389
|
}
|
|
313
|
-
const
|
|
314
|
-
|
|
315
|
-
|
|
390
|
+
const selectKeys = query?.select ? Object.keys(js_utils_1.Objects.flatten(query.select)) : null;
|
|
391
|
+
const limit = query?.limit || 10;
|
|
392
|
+
const offset = query?.offset || 0;
|
|
393
|
+
const orderBy = query?.orderBy;
|
|
394
|
+
const queriesLength = mergedQueries.length;
|
|
395
|
+
for (let i = 0; i < queriesLength; i++) {
|
|
396
|
+
let currentQuery = mergedQueries[i];
|
|
397
|
+
if (!currentQuery)
|
|
398
|
+
continue;
|
|
399
|
+
if (selectKeys && selectKeys.length > 0) {
|
|
316
400
|
// Force select the ID
|
|
317
|
-
|
|
401
|
+
currentQuery = currentQuery.select('id', ...selectKeys);
|
|
318
402
|
}
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
for (
|
|
323
|
-
const
|
|
324
|
-
|
|
325
|
-
|
|
403
|
+
currentQuery = currentQuery.limit(limit).offset(offset);
|
|
404
|
+
if (orderBy) {
|
|
405
|
+
const orderLength = orderBy.length;
|
|
406
|
+
for (let j = 0; j < orderLength; j++) {
|
|
407
|
+
const orderItem = orderBy[j];
|
|
408
|
+
if (orderItem) {
|
|
409
|
+
const flattenObject = js_utils_1.Objects.flatten(orderItem);
|
|
410
|
+
const attributes = Object.keys(flattenObject);
|
|
411
|
+
const attrLength = attributes.length;
|
|
412
|
+
for (let k = 0; k < attrLength; k++) {
|
|
413
|
+
const attribute = attributes[k];
|
|
414
|
+
if (attribute) {
|
|
415
|
+
currentQuery = currentQuery.orderBy(attribute, flattenObject[attribute]);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
326
418
|
}
|
|
327
419
|
}
|
|
328
420
|
}
|
|
421
|
+
mergedQueries[i] = currentQuery;
|
|
329
422
|
}
|
|
330
|
-
const cloned = [...mergedQueries];
|
|
331
423
|
if (andWhere) {
|
|
332
|
-
|
|
424
|
+
const orQueries = mergedQueries.slice(1);
|
|
425
|
+
return [mergedQueries[0], orQueries];
|
|
333
426
|
}
|
|
334
|
-
return [
|
|
427
|
+
return [undefined, mergedQueries];
|
|
335
428
|
}
|
|
336
429
|
getFirebaseWhereQuery(where) {
|
|
337
430
|
if (!where || Object.keys(where).length === 0) {
|
|
@@ -339,139 +432,55 @@ class FirebaseConnector extends fluent_2.BaseConnector {
|
|
|
339
432
|
}
|
|
340
433
|
// Every element of the array is an OR
|
|
341
434
|
let andWhereQuery = this.collection;
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
const
|
|
345
|
-
const
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
435
|
+
const orWhereQueries = [];
|
|
436
|
+
// Avoid cloning overhead - work with original object
|
|
437
|
+
const { AND, OR, ...rootConditions } = where;
|
|
438
|
+
const orConditions = (0, fluent_1.extractConditions)((OR || []));
|
|
439
|
+
const andConditions = (0, fluent_1.extractConditions)((AND || []));
|
|
440
|
+
const rootLevelConditions = (0, fluent_1.extractConditions)([rootConditions]);
|
|
441
|
+
// Helper function to apply conditions to a query - use a map for O(1) lookup
|
|
442
|
+
const operatorMap = new Map([
|
|
443
|
+
[fluent_1.LogicOperator.equals, '=='],
|
|
444
|
+
[fluent_1.LogicOperator.isNot, '!='],
|
|
445
|
+
[fluent_1.LogicOperator.greaterThan, '>'],
|
|
446
|
+
[fluent_1.LogicOperator.greaterOrEqualThan, '>='],
|
|
447
|
+
[fluent_1.LogicOperator.lessThan, '<'],
|
|
448
|
+
[fluent_1.LogicOperator.lessOrEqualThan, '<='],
|
|
449
|
+
[fluent_1.LogicOperator.in, 'in'],
|
|
450
|
+
[fluent_1.LogicOperator.arrayContains, 'array-contains'],
|
|
451
|
+
[fluent_1.LogicOperator.notIn, 'not-in']
|
|
452
|
+
]);
|
|
453
|
+
const applyCondition = (query, condition) => {
|
|
355
454
|
const { element, operator, value } = condition;
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
break;
|
|
360
|
-
case fluent_1.LogicOperator.isNot:
|
|
361
|
-
andWhereQuery = andWhereQuery.where(element, '!=', value);
|
|
362
|
-
break;
|
|
363
|
-
case fluent_1.LogicOperator.greaterThan:
|
|
364
|
-
andWhereQuery = andWhereQuery.where(element, '>', value);
|
|
365
|
-
break;
|
|
366
|
-
case fluent_1.LogicOperator.greaterOrEqualThan:
|
|
367
|
-
andWhereQuery = andWhereQuery.where(element, '>=', value);
|
|
368
|
-
break;
|
|
369
|
-
case fluent_1.LogicOperator.lessThan:
|
|
370
|
-
andWhereQuery = andWhereQuery.where(element, '<', value);
|
|
371
|
-
break;
|
|
372
|
-
case fluent_1.LogicOperator.lessOrEqualThan:
|
|
373
|
-
andWhereQuery = andWhereQuery.where(element, '<=', value);
|
|
374
|
-
break;
|
|
375
|
-
case fluent_1.LogicOperator.in:
|
|
376
|
-
andWhereQuery = andWhereQuery.where(element, 'in', value);
|
|
377
|
-
break;
|
|
378
|
-
case fluent_1.LogicOperator.arrayContains:
|
|
379
|
-
andWhereQuery = andWhereQuery.where(element, 'array-contains', value);
|
|
380
|
-
break;
|
|
381
|
-
case fluent_1.LogicOperator.notIn:
|
|
382
|
-
andWhereQuery = andWhereQuery.where(element, 'not-in', value);
|
|
383
|
-
break;
|
|
384
|
-
case fluent_1.LogicOperator.exists:
|
|
385
|
-
throw new Error('The nin Operator cannot be used in Firabase');
|
|
386
|
-
case fluent_1.LogicOperator.notExists:
|
|
387
|
-
throw new Error('The !exists Operator cannot be used in Firabase');
|
|
388
|
-
case fluent_1.LogicOperator.regexp:
|
|
389
|
-
throw new Error('The regexp Operator cannot be used in Firabase');
|
|
390
|
-
default:
|
|
391
|
-
throw new Error('The regexp Operator cannot be used in Firabase');
|
|
455
|
+
const firebaseOp = operatorMap.get(operator);
|
|
456
|
+
if (firebaseOp) {
|
|
457
|
+
return query.where(element, firebaseOp, value);
|
|
392
458
|
}
|
|
393
|
-
}
|
|
394
|
-
for (const condition of rootLevelConditions) {
|
|
395
|
-
const { element, operator, value } = condition;
|
|
396
459
|
switch (operator) {
|
|
397
|
-
case fluent_1.LogicOperator.equals:
|
|
398
|
-
andWhereQuery = andWhereQuery.where(element, '==', value);
|
|
399
|
-
break;
|
|
400
|
-
case fluent_1.LogicOperator.isNot:
|
|
401
|
-
andWhereQuery = andWhereQuery.where(element, '!=', value);
|
|
402
|
-
break;
|
|
403
|
-
case fluent_1.LogicOperator.greaterThan:
|
|
404
|
-
andWhereQuery = andWhereQuery.where(element, '>', value);
|
|
405
|
-
break;
|
|
406
|
-
case fluent_1.LogicOperator.greaterOrEqualThan:
|
|
407
|
-
andWhereQuery = andWhereQuery.where(element, '>=', value);
|
|
408
|
-
break;
|
|
409
|
-
case fluent_1.LogicOperator.lessThan:
|
|
410
|
-
andWhereQuery = andWhereQuery.where(element, '<', value);
|
|
411
|
-
break;
|
|
412
|
-
case fluent_1.LogicOperator.lessOrEqualThan:
|
|
413
|
-
andWhereQuery = andWhereQuery.where(element, '<=', value);
|
|
414
|
-
break;
|
|
415
|
-
case fluent_1.LogicOperator.in:
|
|
416
|
-
andWhereQuery = andWhereQuery.where(element, 'in', value);
|
|
417
|
-
break;
|
|
418
|
-
case fluent_1.LogicOperator.arrayContains:
|
|
419
|
-
andWhereQuery = andWhereQuery.where(element, 'array-contains', value);
|
|
420
|
-
break;
|
|
421
|
-
case fluent_1.LogicOperator.notIn:
|
|
422
|
-
andWhereQuery = andWhereQuery.where(element, 'not-in', value);
|
|
423
|
-
break;
|
|
424
460
|
case fluent_1.LogicOperator.exists:
|
|
425
|
-
throw new Error('The
|
|
461
|
+
throw new Error('The exists Operator cannot be used in Firebase');
|
|
426
462
|
case fluent_1.LogicOperator.notExists:
|
|
427
|
-
throw new Error('The !exists Operator cannot be used in
|
|
463
|
+
throw new Error('The !exists Operator cannot be used in Firebase');
|
|
428
464
|
case fluent_1.LogicOperator.regexp:
|
|
429
|
-
throw new Error('The regexp Operator cannot be used in
|
|
465
|
+
throw new Error('The regexp Operator cannot be used in Firebase');
|
|
430
466
|
default:
|
|
431
|
-
throw new Error(
|
|
467
|
+
throw new Error(`Unknown operator: ${operator}`);
|
|
432
468
|
}
|
|
469
|
+
};
|
|
470
|
+
// Apply AND conditions
|
|
471
|
+
const andLength = andConditions.length;
|
|
472
|
+
for (let i = 0; i < andLength; i++) {
|
|
473
|
+
andWhereQuery = applyCondition(andWhereQuery, andConditions[i]);
|
|
474
|
+
}
|
|
475
|
+
// Apply root level conditions
|
|
476
|
+
const rootLength = rootLevelConditions.length;
|
|
477
|
+
for (let i = 0; i < rootLength; i++) {
|
|
478
|
+
andWhereQuery = applyCondition(andWhereQuery, rootLevelConditions[i]);
|
|
433
479
|
}
|
|
434
480
|
// Each or query needs to be an independent query in Firebase
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
switch (operator) {
|
|
439
|
-
case fluent_1.LogicOperator.equals:
|
|
440
|
-
orQuery = orQuery.where(element, '==', value);
|
|
441
|
-
break;
|
|
442
|
-
case fluent_1.LogicOperator.isNot:
|
|
443
|
-
orQuery = orQuery.where(element, '!=', value);
|
|
444
|
-
break;
|
|
445
|
-
case fluent_1.LogicOperator.greaterThan:
|
|
446
|
-
orQuery = orQuery.where(element, '>', value);
|
|
447
|
-
break;
|
|
448
|
-
case fluent_1.LogicOperator.greaterOrEqualThan:
|
|
449
|
-
orQuery = orQuery.where(element, '>=', value);
|
|
450
|
-
break;
|
|
451
|
-
case fluent_1.LogicOperator.lessThan:
|
|
452
|
-
orQuery = orQuery.where(element, '<', value);
|
|
453
|
-
break;
|
|
454
|
-
case fluent_1.LogicOperator.lessOrEqualThan:
|
|
455
|
-
orQuery = orQuery.where(element, '<=', value);
|
|
456
|
-
break;
|
|
457
|
-
case fluent_1.LogicOperator.in:
|
|
458
|
-
orQuery = orQuery.where(element, 'in', value);
|
|
459
|
-
break;
|
|
460
|
-
case fluent_1.LogicOperator.arrayContains:
|
|
461
|
-
orQuery = orQuery.where(element, 'array-contains', value);
|
|
462
|
-
break;
|
|
463
|
-
case fluent_1.LogicOperator.notIn:
|
|
464
|
-
orQuery = orQuery.where(element, 'not-in', value);
|
|
465
|
-
break;
|
|
466
|
-
case fluent_1.LogicOperator.exists:
|
|
467
|
-
throw new Error('The nin Operator cannot be used in Firabase');
|
|
468
|
-
case fluent_1.LogicOperator.notExists:
|
|
469
|
-
throw new Error('The !exists Operator cannot be used in Firabase');
|
|
470
|
-
case fluent_1.LogicOperator.regexp:
|
|
471
|
-
throw new Error('The regexp Operator cannot be used in Firabase');
|
|
472
|
-
default:
|
|
473
|
-
throw new Error('The regexp Operator cannot be used in Firabase');
|
|
474
|
-
}
|
|
481
|
+
const orLength = orConditions.length;
|
|
482
|
+
for (let i = 0; i < orLength; i++) {
|
|
483
|
+
const orQuery = applyCondition(this.collection, orConditions[i]);
|
|
475
484
|
orWhereQueries.push(orQuery);
|
|
476
485
|
}
|
|
477
486
|
let andWhereCondition = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirebaseConnector.js","sourceRoot":"","sources":["../src/FirebaseConnector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FirebaseConnector.js","sourceRoot":"","sources":["../src/FirebaseConnector.ts"],"names":[],"mappings":"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"}
|