@aws-amplify/datastore-storage-adapter 1.3.16-unstable.2 → 1.4.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.
- package/CHANGELOG.md +21 -0
- package/dist/aws-amplify-datastore-sqlite-adapter-expo.js +228 -829
- package/dist/aws-amplify-datastore-sqlite-adapter-expo.js.map +1 -1
- package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js.map +1 -1
- package/dist/aws-amplify-datastore-storage-adapter.js +215 -799
- package/dist/aws-amplify-datastore-storage-adapter.js.map +1 -1
- package/dist/aws-amplify-datastore-storage-adapter.min.js.map +1 -1
- package/package.json +4 -4
|
@@ -134,7 +134,6 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
|
|
|
134
134
|
resolve(value);
|
|
135
135
|
});
|
|
136
136
|
}
|
|
137
|
-
|
|
138
137
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
139
138
|
function fulfilled(value) {
|
|
140
139
|
try {
|
|
@@ -143,7 +142,6 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
|
|
|
143
142
|
reject(e);
|
|
144
143
|
}
|
|
145
144
|
}
|
|
146
|
-
|
|
147
145
|
function rejected(value) {
|
|
148
146
|
try {
|
|
149
147
|
step(generator["throw"](value));
|
|
@@ -151,29 +149,26 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
|
|
|
151
149
|
reject(e);
|
|
152
150
|
}
|
|
153
151
|
}
|
|
154
|
-
|
|
155
152
|
function step(result) {
|
|
156
153
|
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
157
154
|
}
|
|
158
|
-
|
|
159
155
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
160
156
|
});
|
|
161
157
|
};
|
|
162
|
-
|
|
163
158
|
var __generator = undefined && undefined.__generator || function (thisArg, body) {
|
|
164
159
|
var _ = {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
160
|
+
label: 0,
|
|
161
|
+
sent: function sent() {
|
|
162
|
+
if (t[0] & 1) throw t[1];
|
|
163
|
+
return t[1];
|
|
164
|
+
},
|
|
165
|
+
trys: [],
|
|
166
|
+
ops: []
|
|
169
167
|
},
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
y,
|
|
175
|
-
t,
|
|
176
|
-
g;
|
|
168
|
+
f,
|
|
169
|
+
y,
|
|
170
|
+
t,
|
|
171
|
+
g;
|
|
177
172
|
return g = {
|
|
178
173
|
next: verb(0),
|
|
179
174
|
"throw": verb(1),
|
|
@@ -181,79 +176,60 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
|
|
|
181
176
|
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
|
|
182
177
|
return this;
|
|
183
178
|
}), g;
|
|
184
|
-
|
|
185
179
|
function verb(n) {
|
|
186
180
|
return function (v) {
|
|
187
181
|
return step([n, v]);
|
|
188
182
|
};
|
|
189
183
|
}
|
|
190
|
-
|
|
191
184
|
function step(op) {
|
|
192
185
|
if (f) throw new TypeError("Generator is already executing.");
|
|
193
|
-
|
|
194
186
|
while (_) {
|
|
195
187
|
try {
|
|
196
188
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
197
189
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
198
|
-
|
|
199
190
|
switch (op[0]) {
|
|
200
191
|
case 0:
|
|
201
192
|
case 1:
|
|
202
193
|
t = op;
|
|
203
194
|
break;
|
|
204
|
-
|
|
205
195
|
case 4:
|
|
206
196
|
_.label++;
|
|
207
197
|
return {
|
|
208
198
|
value: op[1],
|
|
209
199
|
done: false
|
|
210
200
|
};
|
|
211
|
-
|
|
212
201
|
case 5:
|
|
213
202
|
_.label++;
|
|
214
203
|
y = op[1];
|
|
215
204
|
op = [0];
|
|
216
205
|
continue;
|
|
217
|
-
|
|
218
206
|
case 7:
|
|
219
207
|
op = _.ops.pop();
|
|
220
|
-
|
|
221
208
|
_.trys.pop();
|
|
222
|
-
|
|
223
209
|
continue;
|
|
224
|
-
|
|
225
210
|
default:
|
|
226
211
|
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
227
212
|
_ = 0;
|
|
228
213
|
continue;
|
|
229
214
|
}
|
|
230
|
-
|
|
231
215
|
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
232
216
|
_.label = op[1];
|
|
233
217
|
break;
|
|
234
218
|
}
|
|
235
|
-
|
|
236
219
|
if (op[0] === 6 && _.label < t[1]) {
|
|
237
220
|
_.label = t[1];
|
|
238
221
|
t = op;
|
|
239
222
|
break;
|
|
240
223
|
}
|
|
241
|
-
|
|
242
224
|
if (t && _.label < t[2]) {
|
|
243
225
|
_.label = t[2];
|
|
244
|
-
|
|
245
226
|
_.ops.push(op);
|
|
246
|
-
|
|
247
227
|
break;
|
|
248
228
|
}
|
|
249
|
-
|
|
250
229
|
if (t[2]) _.ops.pop();
|
|
251
|
-
|
|
252
230
|
_.trys.pop();
|
|
253
|
-
|
|
254
231
|
continue;
|
|
255
232
|
}
|
|
256
|
-
|
|
257
233
|
op = body.call(thisArg, _);
|
|
258
234
|
} catch (e) {
|
|
259
235
|
op = [6, e];
|
|
@@ -262,7 +238,6 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
|
|
|
262
238
|
f = t = 0;
|
|
263
239
|
}
|
|
264
240
|
}
|
|
265
|
-
|
|
266
241
|
if (op[0] & 5) throw op[1];
|
|
267
242
|
return {
|
|
268
243
|
value: op[0] ? op[1] : void 0,
|
|
@@ -270,15 +245,13 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
|
|
|
270
245
|
};
|
|
271
246
|
}
|
|
272
247
|
};
|
|
273
|
-
|
|
274
248
|
var __read = undefined && undefined.__read || function (o, n) {
|
|
275
249
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
276
250
|
if (!m) return o;
|
|
277
251
|
var i = m.call(o),
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
252
|
+
r,
|
|
253
|
+
ar = [],
|
|
254
|
+
e;
|
|
282
255
|
try {
|
|
283
256
|
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
|
|
284
257
|
ar.push(r.value);
|
|
@@ -294,14 +267,12 @@ var __read = undefined && undefined.__read || function (o, n) {
|
|
|
294
267
|
if (e) throw e.error;
|
|
295
268
|
}
|
|
296
269
|
}
|
|
297
|
-
|
|
298
270
|
return ar;
|
|
299
271
|
};
|
|
300
|
-
|
|
301
272
|
var __values = undefined && undefined.__values || function (o) {
|
|
302
273
|
var s = typeof Symbol === "function" && Symbol.iterator,
|
|
303
|
-
|
|
304
|
-
|
|
274
|
+
m = s && o[s],
|
|
275
|
+
i = 0;
|
|
305
276
|
if (m) return m.call(o);
|
|
306
277
|
if (o && typeof o.length === "number") return {
|
|
307
278
|
next: function next() {
|
|
@@ -317,10 +288,8 @@ var __values = undefined && undefined.__values || function (o) {
|
|
|
317
288
|
|
|
318
289
|
|
|
319
290
|
|
|
320
|
-
|
|
321
291
|
var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["ConsoleLogger"]('SQLiteDatabase');
|
|
322
292
|
react_native_sqlite_storage__WEBPACK_IMPORTED_MODULE_0___default.a.enablePromise(true);
|
|
323
|
-
|
|
324
293
|
if (_aws_amplify_core__WEBPACK_IMPORTED_MODULE_1__["ConsoleLogger"].LOG_LEVEL === 'DEBUG') {
|
|
325
294
|
react_native_sqlite_storage__WEBPACK_IMPORTED_MODULE_0___default.a.DEBUG(true);
|
|
326
295
|
}
|
|
@@ -336,39 +305,25 @@ get the result of an `executeSql` command inside of a transaction
|
|
|
336
305
|
(see the batchQuery method below)
|
|
337
306
|
|
|
338
307
|
*/
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
var SQLiteDatabase =
|
|
342
|
-
/** @class */
|
|
343
|
-
function () {
|
|
308
|
+
var SQLiteDatabase = /** @class */function () {
|
|
344
309
|
function SQLiteDatabase() {}
|
|
345
|
-
|
|
346
310
|
SQLiteDatabase.prototype.init = function () {
|
|
347
311
|
return __awaiter(this, void 0, void 0, function () {
|
|
348
312
|
var _a;
|
|
349
|
-
|
|
350
313
|
return __generator(this, function (_b) {
|
|
351
314
|
switch (_b.label) {
|
|
352
315
|
case 0:
|
|
353
|
-
if (!!this.db) return [3
|
|
354
|
-
/*break*/
|
|
355
|
-
, 2];
|
|
316
|
+
if (!!this.db) return [3 /*break*/, 2];
|
|
356
317
|
_a = this;
|
|
357
|
-
return [4
|
|
358
|
-
/*yield*/
|
|
359
|
-
, react_native_sqlite_storage__WEBPACK_IMPORTED_MODULE_0___default.a.openDatabase({
|
|
318
|
+
return [4 /*yield*/, react_native_sqlite_storage__WEBPACK_IMPORTED_MODULE_0___default.a.openDatabase({
|
|
360
319
|
name: _common_constants__WEBPACK_IMPORTED_MODULE_2__["DB_NAME"],
|
|
361
320
|
location: 'default'
|
|
362
321
|
})];
|
|
363
|
-
|
|
364
322
|
case 1:
|
|
365
323
|
_a.db = _b.sent();
|
|
366
324
|
_b.label = 2;
|
|
367
|
-
|
|
368
325
|
case 2:
|
|
369
|
-
return [2
|
|
370
|
-
/*return*/
|
|
371
|
-
];
|
|
326
|
+
return [2 /*return*/];
|
|
372
327
|
}
|
|
373
328
|
});
|
|
374
329
|
});
|
|
@@ -379,46 +334,30 @@ function () {
|
|
|
379
334
|
return __generator(this, function (_a) {
|
|
380
335
|
switch (_a.label) {
|
|
381
336
|
case 0:
|
|
382
|
-
return [4
|
|
383
|
-
/*yield*/
|
|
384
|
-
, this.executeStatements(statements)];
|
|
385
|
-
|
|
337
|
+
return [4 /*yield*/, this.executeStatements(statements)];
|
|
386
338
|
case 1:
|
|
387
|
-
return [2
|
|
388
|
-
/*return*/
|
|
389
|
-
, _a.sent()];
|
|
339
|
+
return [2 /*return*/, _a.sent()];
|
|
390
340
|
}
|
|
391
341
|
});
|
|
392
342
|
});
|
|
393
343
|
};
|
|
394
|
-
|
|
395
344
|
SQLiteDatabase.prototype.clear = function () {
|
|
396
345
|
return __awaiter(this, void 0, void 0, function () {
|
|
397
346
|
return __generator(this, function (_a) {
|
|
398
347
|
switch (_a.label) {
|
|
399
348
|
case 0:
|
|
400
|
-
return [4
|
|
401
|
-
/*yield*/
|
|
402
|
-
, this.closeDB()];
|
|
403
|
-
|
|
349
|
+
return [4 /*yield*/, this.closeDB()];
|
|
404
350
|
case 1:
|
|
405
351
|
_a.sent();
|
|
406
|
-
|
|
407
352
|
logger.debug('Deleting database');
|
|
408
|
-
return [4
|
|
409
|
-
/*yield*/
|
|
410
|
-
, react_native_sqlite_storage__WEBPACK_IMPORTED_MODULE_0___default.a.deleteDatabase({
|
|
353
|
+
return [4 /*yield*/, react_native_sqlite_storage__WEBPACK_IMPORTED_MODULE_0___default.a.deleteDatabase({
|
|
411
354
|
name: _common_constants__WEBPACK_IMPORTED_MODULE_2__["DB_NAME"],
|
|
412
355
|
location: 'default'
|
|
413
356
|
})];
|
|
414
|
-
|
|
415
357
|
case 2:
|
|
416
358
|
_a.sent();
|
|
417
|
-
|
|
418
359
|
logger.debug('Database deleted');
|
|
419
|
-
return [2
|
|
420
|
-
/*return*/
|
|
421
|
-
];
|
|
360
|
+
return [2 /*return*/];
|
|
422
361
|
}
|
|
423
362
|
});
|
|
424
363
|
});
|
|
@@ -430,57 +369,38 @@ function () {
|
|
|
430
369
|
return __generator(this, function (_a) {
|
|
431
370
|
switch (_a.label) {
|
|
432
371
|
case 0:
|
|
433
|
-
return [4
|
|
434
|
-
/*yield*/
|
|
435
|
-
, this.getAll(statement, params)];
|
|
436
|
-
|
|
372
|
+
return [4 /*yield*/, this.getAll(statement, params)];
|
|
437
373
|
case 1:
|
|
438
374
|
results = _a.sent();
|
|
439
|
-
return [2
|
|
440
|
-
/*return*/
|
|
441
|
-
, results[0]];
|
|
375
|
+
return [2 /*return*/, results[0]];
|
|
442
376
|
}
|
|
443
377
|
});
|
|
444
378
|
});
|
|
445
379
|
};
|
|
446
|
-
|
|
447
380
|
SQLiteDatabase.prototype.getAll = function (statement, params) {
|
|
448
381
|
return __awaiter(this, void 0, void 0, function () {
|
|
449
382
|
var _a, resultSet, result;
|
|
450
|
-
|
|
451
383
|
return __generator(this, function (_b) {
|
|
452
384
|
switch (_b.label) {
|
|
453
385
|
case 0:
|
|
454
|
-
return [4
|
|
455
|
-
/*yield*/
|
|
456
|
-
, this.db.executeSql(statement, params)];
|
|
457
|
-
|
|
386
|
+
return [4 /*yield*/, this.db.executeSql(statement, params)];
|
|
458
387
|
case 1:
|
|
459
388
|
_a = __read.apply(void 0, [_b.sent(), 1]), resultSet = _a[0];
|
|
460
389
|
result = resultSet && resultSet.rows && resultSet.rows.length && resultSet.rows.raw && resultSet.rows.raw();
|
|
461
|
-
return [2
|
|
462
|
-
/*return*/
|
|
463
|
-
, result || []];
|
|
390
|
+
return [2 /*return*/, result || []];
|
|
464
391
|
}
|
|
465
392
|
});
|
|
466
393
|
});
|
|
467
394
|
};
|
|
468
|
-
|
|
469
395
|
SQLiteDatabase.prototype.save = function (statement, params) {
|
|
470
396
|
return __awaiter(this, void 0, void 0, function () {
|
|
471
397
|
return __generator(this, function (_a) {
|
|
472
398
|
switch (_a.label) {
|
|
473
399
|
case 0:
|
|
474
|
-
return [4
|
|
475
|
-
/*yield*/
|
|
476
|
-
, this.db.executeSql(statement, params)];
|
|
477
|
-
|
|
400
|
+
return [4 /*yield*/, this.db.executeSql(statement, params)];
|
|
478
401
|
case 1:
|
|
479
402
|
_a.sent();
|
|
480
|
-
|
|
481
|
-
return [2
|
|
482
|
-
/*return*/
|
|
483
|
-
];
|
|
403
|
+
return [2 /*return*/];
|
|
484
404
|
}
|
|
485
405
|
});
|
|
486
406
|
});
|
|
@@ -493,17 +413,13 @@ function () {
|
|
|
493
413
|
switch (_a.label) {
|
|
494
414
|
case 0:
|
|
495
415
|
results = [];
|
|
496
|
-
return [4
|
|
497
|
-
/*yield*/
|
|
498
|
-
, this.db.readTransaction(function (tx) {
|
|
416
|
+
return [4 /*yield*/, this.db.readTransaction(function (tx) {
|
|
499
417
|
var e_1, _a;
|
|
500
|
-
|
|
501
418
|
try {
|
|
502
419
|
for (var queryParameterizedStatements_1 = __values(queryParameterizedStatements), queryParameterizedStatements_1_1 = queryParameterizedStatements_1.next(); !queryParameterizedStatements_1_1.done; queryParameterizedStatements_1_1 = queryParameterizedStatements_1.next()) {
|
|
503
420
|
var _b = __read(queryParameterizedStatements_1_1.value, 2),
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
421
|
+
statement = _b[0],
|
|
422
|
+
params = _b[1];
|
|
507
423
|
tx.executeSql(statement, params, function (_, res) {
|
|
508
424
|
results.push(res.rows.raw()[0]);
|
|
509
425
|
}, logger.warn);
|
|
@@ -520,34 +436,25 @@ function () {
|
|
|
520
436
|
}
|
|
521
437
|
}
|
|
522
438
|
})];
|
|
523
|
-
|
|
524
439
|
case 1:
|
|
525
440
|
_a.sent();
|
|
526
|
-
|
|
527
|
-
return [2
|
|
528
|
-
/*return*/
|
|
529
|
-
, results];
|
|
441
|
+
return [2 /*return*/, results];
|
|
530
442
|
}
|
|
531
443
|
});
|
|
532
444
|
});
|
|
533
445
|
};
|
|
534
|
-
|
|
535
446
|
SQLiteDatabase.prototype.batchSave = function (saveParameterizedStatements, deleteParameterizedStatements) {
|
|
536
447
|
return __awaiter(this, void 0, void 0, function () {
|
|
537
448
|
return __generator(this, function (_a) {
|
|
538
449
|
switch (_a.label) {
|
|
539
450
|
case 0:
|
|
540
|
-
return [4
|
|
541
|
-
/*yield*/
|
|
542
|
-
, this.db.transaction(function (tx) {
|
|
451
|
+
return [4 /*yield*/, this.db.transaction(function (tx) {
|
|
543
452
|
var e_2, _a;
|
|
544
|
-
|
|
545
453
|
try {
|
|
546
454
|
for (var saveParameterizedStatements_1 = __values(saveParameterizedStatements), saveParameterizedStatements_1_1 = saveParameterizedStatements_1.next(); !saveParameterizedStatements_1_1.done; saveParameterizedStatements_1_1 = saveParameterizedStatements_1.next()) {
|
|
547
455
|
var _b = __read(saveParameterizedStatements_1_1.value, 2),
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
456
|
+
statement = _b[0],
|
|
457
|
+
params = _b[1];
|
|
551
458
|
tx.executeSql(statement, params);
|
|
552
459
|
}
|
|
553
460
|
} catch (e_2_1) {
|
|
@@ -562,24 +469,16 @@ function () {
|
|
|
562
469
|
}
|
|
563
470
|
}
|
|
564
471
|
})];
|
|
565
|
-
|
|
566
472
|
case 1:
|
|
567
473
|
_a.sent();
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
/*break*/
|
|
571
|
-
, 3];
|
|
572
|
-
return [4
|
|
573
|
-
/*yield*/
|
|
574
|
-
, this.db.transaction(function (tx) {
|
|
474
|
+
if (!deleteParameterizedStatements) return [3 /*break*/, 3];
|
|
475
|
+
return [4 /*yield*/, this.db.transaction(function (tx) {
|
|
575
476
|
var e_3, _a;
|
|
576
|
-
|
|
577
477
|
try {
|
|
578
478
|
for (var deleteParameterizedStatements_1 = __values(deleteParameterizedStatements), deleteParameterizedStatements_1_1 = deleteParameterizedStatements_1.next(); !deleteParameterizedStatements_1_1.done; deleteParameterizedStatements_1_1 = deleteParameterizedStatements_1.next()) {
|
|
579
479
|
var _b = __read(deleteParameterizedStatements_1_1.value, 2),
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
480
|
+
statement = _b[0],
|
|
481
|
+
params = _b[1];
|
|
583
482
|
tx.executeSql(statement, params);
|
|
584
483
|
}
|
|
585
484
|
} catch (e_3_1) {
|
|
@@ -594,16 +493,11 @@ function () {
|
|
|
594
493
|
}
|
|
595
494
|
}
|
|
596
495
|
})];
|
|
597
|
-
|
|
598
496
|
case 2:
|
|
599
497
|
_a.sent();
|
|
600
|
-
|
|
601
498
|
_a.label = 3;
|
|
602
|
-
|
|
603
499
|
case 3:
|
|
604
|
-
return [2
|
|
605
|
-
/*return*/
|
|
606
|
-
];
|
|
500
|
+
return [2 /*return*/];
|
|
607
501
|
}
|
|
608
502
|
});
|
|
609
503
|
});
|
|
@@ -612,43 +506,32 @@ function () {
|
|
|
612
506
|
SQLiteDatabase.prototype.selectAndDelete = function (queryParameterizedStatement, deleteParameterizedStatement) {
|
|
613
507
|
return __awaiter(this, void 0, void 0, function () {
|
|
614
508
|
var results, _a, queryStatement, queryParams, _b, deleteStatement, deleteParams;
|
|
615
|
-
|
|
616
509
|
return __generator(this, function (_c) {
|
|
617
510
|
switch (_c.label) {
|
|
618
511
|
case 0:
|
|
619
512
|
results = [];
|
|
620
513
|
_a = __read(queryParameterizedStatement, 2), queryStatement = _a[0], queryParams = _a[1];
|
|
621
514
|
_b = __read(deleteParameterizedStatement, 2), deleteStatement = _b[0], deleteParams = _b[1];
|
|
622
|
-
return [4
|
|
623
|
-
/*yield*/
|
|
624
|
-
, this.db.transaction(function (tx) {
|
|
515
|
+
return [4 /*yield*/, this.db.transaction(function (tx) {
|
|
625
516
|
tx.executeSql(queryStatement, queryParams, function (_, res) {
|
|
626
517
|
results = res.rows.raw();
|
|
627
518
|
}, logger.warn);
|
|
628
519
|
tx.executeSql(deleteStatement, deleteParams, function () {}, logger.warn);
|
|
629
520
|
})];
|
|
630
|
-
|
|
631
521
|
case 1:
|
|
632
522
|
_c.sent();
|
|
633
|
-
|
|
634
|
-
return [2
|
|
635
|
-
/*return*/
|
|
636
|
-
, results];
|
|
523
|
+
return [2 /*return*/, results];
|
|
637
524
|
}
|
|
638
525
|
});
|
|
639
526
|
});
|
|
640
527
|
};
|
|
641
|
-
|
|
642
528
|
SQLiteDatabase.prototype.executeStatements = function (statements) {
|
|
643
529
|
return __awaiter(this, void 0, void 0, function () {
|
|
644
530
|
return __generator(this, function (_a) {
|
|
645
531
|
switch (_a.label) {
|
|
646
532
|
case 0:
|
|
647
|
-
return [4
|
|
648
|
-
/*yield*/
|
|
649
|
-
, this.db.transaction(function (tx) {
|
|
533
|
+
return [4 /*yield*/, this.db.transaction(function (tx) {
|
|
650
534
|
var e_4, _a;
|
|
651
|
-
|
|
652
535
|
try {
|
|
653
536
|
for (var statements_1 = __values(statements), statements_1_1 = statements_1.next(); !statements_1_1.done; statements_1_1 = statements_1.next()) {
|
|
654
537
|
var statement = statements_1_1.value;
|
|
@@ -666,13 +549,9 @@ function () {
|
|
|
666
549
|
}
|
|
667
550
|
}
|
|
668
551
|
})];
|
|
669
|
-
|
|
670
552
|
case 1:
|
|
671
553
|
_a.sent();
|
|
672
|
-
|
|
673
|
-
return [2
|
|
674
|
-
/*return*/
|
|
675
|
-
];
|
|
554
|
+
return [2 /*return*/];
|
|
676
555
|
}
|
|
677
556
|
});
|
|
678
557
|
});
|
|
@@ -683,25 +562,16 @@ function () {
|
|
|
683
562
|
return __generator(this, function (_a) {
|
|
684
563
|
switch (_a.label) {
|
|
685
564
|
case 0:
|
|
686
|
-
if (!this.db) return [3
|
|
687
|
-
/*break*/
|
|
688
|
-
, 2];
|
|
565
|
+
if (!this.db) return [3 /*break*/, 2];
|
|
689
566
|
logger.debug('Closing Database');
|
|
690
|
-
return [4
|
|
691
|
-
/*yield*/
|
|
692
|
-
, this.db.close()];
|
|
693
|
-
|
|
567
|
+
return [4 /*yield*/, this.db.close()];
|
|
694
568
|
case 1:
|
|
695
569
|
_a.sent();
|
|
696
|
-
|
|
697
570
|
logger.debug('Database closed');
|
|
698
571
|
this.db = undefined;
|
|
699
572
|
_a.label = 2;
|
|
700
|
-
|
|
701
573
|
case 2:
|
|
702
|
-
return [2
|
|
703
|
-
/*return*/
|
|
704
|
-
];
|
|
574
|
+
return [2 /*return*/];
|
|
705
575
|
}
|
|
706
576
|
});
|
|
707
577
|
});
|
|
@@ -709,7 +579,6 @@ function () {
|
|
|
709
579
|
|
|
710
580
|
return SQLiteDatabase;
|
|
711
581
|
}();
|
|
712
|
-
|
|
713
582
|
/* harmony default export */ __webpack_exports__["default"] = (SQLiteDatabase);
|
|
714
583
|
|
|
715
584
|
/***/ }),
|
|
@@ -735,7 +604,6 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
|
|
|
735
604
|
resolve(value);
|
|
736
605
|
});
|
|
737
606
|
}
|
|
738
|
-
|
|
739
607
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
740
608
|
function fulfilled(value) {
|
|
741
609
|
try {
|
|
@@ -744,7 +612,6 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
|
|
|
744
612
|
reject(e);
|
|
745
613
|
}
|
|
746
614
|
}
|
|
747
|
-
|
|
748
615
|
function rejected(value) {
|
|
749
616
|
try {
|
|
750
617
|
step(generator["throw"](value));
|
|
@@ -752,29 +619,26 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
|
|
|
752
619
|
reject(e);
|
|
753
620
|
}
|
|
754
621
|
}
|
|
755
|
-
|
|
756
622
|
function step(result) {
|
|
757
623
|
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
758
624
|
}
|
|
759
|
-
|
|
760
625
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
761
626
|
});
|
|
762
627
|
};
|
|
763
|
-
|
|
764
628
|
var __generator = undefined && undefined.__generator || function (thisArg, body) {
|
|
765
629
|
var _ = {
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
630
|
+
label: 0,
|
|
631
|
+
sent: function sent() {
|
|
632
|
+
if (t[0] & 1) throw t[1];
|
|
633
|
+
return t[1];
|
|
634
|
+
},
|
|
635
|
+
trys: [],
|
|
636
|
+
ops: []
|
|
770
637
|
},
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
y,
|
|
776
|
-
t,
|
|
777
|
-
g;
|
|
638
|
+
f,
|
|
639
|
+
y,
|
|
640
|
+
t,
|
|
641
|
+
g;
|
|
778
642
|
return g = {
|
|
779
643
|
next: verb(0),
|
|
780
644
|
"throw": verb(1),
|
|
@@ -782,79 +646,60 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
|
|
|
782
646
|
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
|
|
783
647
|
return this;
|
|
784
648
|
}), g;
|
|
785
|
-
|
|
786
649
|
function verb(n) {
|
|
787
650
|
return function (v) {
|
|
788
651
|
return step([n, v]);
|
|
789
652
|
};
|
|
790
653
|
}
|
|
791
|
-
|
|
792
654
|
function step(op) {
|
|
793
655
|
if (f) throw new TypeError("Generator is already executing.");
|
|
794
|
-
|
|
795
656
|
while (_) {
|
|
796
657
|
try {
|
|
797
658
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
798
659
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
799
|
-
|
|
800
660
|
switch (op[0]) {
|
|
801
661
|
case 0:
|
|
802
662
|
case 1:
|
|
803
663
|
t = op;
|
|
804
664
|
break;
|
|
805
|
-
|
|
806
665
|
case 4:
|
|
807
666
|
_.label++;
|
|
808
667
|
return {
|
|
809
668
|
value: op[1],
|
|
810
669
|
done: false
|
|
811
670
|
};
|
|
812
|
-
|
|
813
671
|
case 5:
|
|
814
672
|
_.label++;
|
|
815
673
|
y = op[1];
|
|
816
674
|
op = [0];
|
|
817
675
|
continue;
|
|
818
|
-
|
|
819
676
|
case 7:
|
|
820
677
|
op = _.ops.pop();
|
|
821
|
-
|
|
822
678
|
_.trys.pop();
|
|
823
|
-
|
|
824
679
|
continue;
|
|
825
|
-
|
|
826
680
|
default:
|
|
827
681
|
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
828
682
|
_ = 0;
|
|
829
683
|
continue;
|
|
830
684
|
}
|
|
831
|
-
|
|
832
685
|
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
833
686
|
_.label = op[1];
|
|
834
687
|
break;
|
|
835
688
|
}
|
|
836
|
-
|
|
837
689
|
if (op[0] === 6 && _.label < t[1]) {
|
|
838
690
|
_.label = t[1];
|
|
839
691
|
t = op;
|
|
840
692
|
break;
|
|
841
693
|
}
|
|
842
|
-
|
|
843
694
|
if (t && _.label < t[2]) {
|
|
844
695
|
_.label = t[2];
|
|
845
|
-
|
|
846
696
|
_.ops.push(op);
|
|
847
|
-
|
|
848
697
|
break;
|
|
849
698
|
}
|
|
850
|
-
|
|
851
699
|
if (t[2]) _.ops.pop();
|
|
852
|
-
|
|
853
700
|
_.trys.pop();
|
|
854
|
-
|
|
855
701
|
continue;
|
|
856
702
|
}
|
|
857
|
-
|
|
858
703
|
op = body.call(thisArg, _);
|
|
859
704
|
} catch (e) {
|
|
860
705
|
op = [6, e];
|
|
@@ -863,7 +708,6 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
|
|
|
863
708
|
f = t = 0;
|
|
864
709
|
}
|
|
865
710
|
}
|
|
866
|
-
|
|
867
711
|
if (op[0] & 5) throw op[1];
|
|
868
712
|
return {
|
|
869
713
|
value: op[0] ? op[1] : void 0,
|
|
@@ -871,15 +715,13 @@ var __generator = undefined && undefined.__generator || function (thisArg, body)
|
|
|
871
715
|
};
|
|
872
716
|
}
|
|
873
717
|
};
|
|
874
|
-
|
|
875
718
|
var __asyncValues = undefined && undefined.__asyncValues || function (o) {
|
|
876
719
|
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
877
720
|
var m = o[Symbol.asyncIterator],
|
|
878
|
-
|
|
721
|
+
i;
|
|
879
722
|
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
|
|
880
723
|
return this;
|
|
881
724
|
}, i);
|
|
882
|
-
|
|
883
725
|
function verb(n) {
|
|
884
726
|
i[n] = o[n] && function (v) {
|
|
885
727
|
return new Promise(function (resolve, reject) {
|
|
@@ -887,7 +729,6 @@ var __asyncValues = undefined && undefined.__asyncValues || function (o) {
|
|
|
887
729
|
});
|
|
888
730
|
};
|
|
889
731
|
}
|
|
890
|
-
|
|
891
732
|
function settle(resolve, reject, d, v) {
|
|
892
733
|
Promise.resolve(v).then(function (v) {
|
|
893
734
|
resolve({
|
|
@@ -897,15 +738,13 @@ var __asyncValues = undefined && undefined.__asyncValues || function (o) {
|
|
|
897
738
|
}, reject);
|
|
898
739
|
}
|
|
899
740
|
};
|
|
900
|
-
|
|
901
741
|
var __read = undefined && undefined.__read || function (o, n) {
|
|
902
742
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
903
743
|
if (!m) return o;
|
|
904
744
|
var i = m.call(o),
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
745
|
+
r,
|
|
746
|
+
ar = [],
|
|
747
|
+
e;
|
|
909
748
|
try {
|
|
910
749
|
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
|
|
911
750
|
ar.push(r.value);
|
|
@@ -921,14 +760,12 @@ var __read = undefined && undefined.__read || function (o, n) {
|
|
|
921
760
|
if (e) throw e.error;
|
|
922
761
|
}
|
|
923
762
|
}
|
|
924
|
-
|
|
925
763
|
return ar;
|
|
926
764
|
};
|
|
927
|
-
|
|
928
765
|
var __values = undefined && undefined.__values || function (o) {
|
|
929
766
|
var s = typeof Symbol === "function" && Symbol.iterator,
|
|
930
|
-
|
|
931
|
-
|
|
767
|
+
m = s && o[s],
|
|
768
|
+
i = 0;
|
|
932
769
|
if (m) return m.call(o);
|
|
933
770
|
if (o && typeof o.length === "number") return {
|
|
934
771
|
next: function next() {
|
|
@@ -944,92 +781,55 @@ var __values = undefined && undefined.__values || function (o) {
|
|
|
944
781
|
|
|
945
782
|
|
|
946
783
|
|
|
947
|
-
|
|
948
784
|
var traverseModel = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["utils"].traverseModel,
|
|
949
|
-
|
|
950
|
-
|
|
785
|
+
validatePredicate = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["utils"].validatePredicate,
|
|
786
|
+
isModelConstructor = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["utils"].isModelConstructor;
|
|
951
787
|
var logger = new _aws_amplify_core__WEBPACK_IMPORTED_MODULE_0__["ConsoleLogger"]('DataStore');
|
|
952
|
-
|
|
953
|
-
var CommonSQLiteAdapter =
|
|
954
|
-
/** @class */
|
|
955
|
-
function () {
|
|
788
|
+
var CommonSQLiteAdapter = /** @class */function () {
|
|
956
789
|
function CommonSQLiteAdapter(db) {
|
|
957
790
|
this.db = db;
|
|
958
791
|
}
|
|
959
|
-
|
|
960
792
|
CommonSQLiteAdapter.prototype.setUp = function (theSchema, namespaceResolver, modelInstanceCreator, getModelConstructorByModelName) {
|
|
961
793
|
return __awaiter(this, void 0, void 0, function () {
|
|
962
794
|
var statements, error_1;
|
|
963
|
-
|
|
964
795
|
var _this = this;
|
|
965
|
-
|
|
966
796
|
return __generator(this, function (_a) {
|
|
967
797
|
switch (_a.label) {
|
|
968
798
|
case 0:
|
|
969
|
-
if (!!this.initPromise) return [3
|
|
970
|
-
/*break*/
|
|
971
|
-
, 1];
|
|
799
|
+
if (!!this.initPromise) return [3 /*break*/, 1];
|
|
972
800
|
this.initPromise = new Promise(function (res, rej) {
|
|
973
801
|
_this.resolve = res;
|
|
974
802
|
_this.reject = rej;
|
|
975
803
|
});
|
|
976
|
-
return [3
|
|
977
|
-
/*break*/
|
|
978
|
-
, 3];
|
|
979
|
-
|
|
804
|
+
return [3 /*break*/, 3];
|
|
980
805
|
case 1:
|
|
981
|
-
return [4
|
|
982
|
-
/*yield*/
|
|
983
|
-
, this.initPromise];
|
|
984
|
-
|
|
806
|
+
return [4 /*yield*/, this.initPromise];
|
|
985
807
|
case 2:
|
|
986
808
|
_a.sent();
|
|
987
|
-
|
|
988
|
-
return [2
|
|
989
|
-
/*return*/
|
|
990
|
-
];
|
|
991
|
-
|
|
809
|
+
return [2 /*return*/];
|
|
992
810
|
case 3:
|
|
993
811
|
this.schema = theSchema;
|
|
994
812
|
this.namespaceResolver = namespaceResolver;
|
|
995
813
|
this.modelInstanceCreator = modelInstanceCreator;
|
|
996
814
|
this.getModelConstructorByModelName = getModelConstructorByModelName;
|
|
997
815
|
_a.label = 4;
|
|
998
|
-
|
|
999
816
|
case 4:
|
|
1000
817
|
_a.trys.push([4, 7,, 8]);
|
|
1001
|
-
|
|
1002
|
-
return [4
|
|
1003
|
-
/*yield*/
|
|
1004
|
-
, this.db.init()];
|
|
1005
|
-
|
|
818
|
+
return [4 /*yield*/, this.db.init()];
|
|
1006
819
|
case 5:
|
|
1007
820
|
_a.sent();
|
|
1008
|
-
|
|
1009
821
|
statements = Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["generateSchemaStatements"])(this.schema);
|
|
1010
|
-
return [4
|
|
1011
|
-
/*yield*/
|
|
1012
|
-
, this.db.createSchema(statements)];
|
|
1013
|
-
|
|
822
|
+
return [4 /*yield*/, this.db.createSchema(statements)];
|
|
1014
823
|
case 6:
|
|
1015
824
|
_a.sent();
|
|
1016
|
-
|
|
1017
825
|
this.resolve();
|
|
1018
|
-
return [3
|
|
1019
|
-
/*break*/
|
|
1020
|
-
, 8];
|
|
1021
|
-
|
|
826
|
+
return [3 /*break*/, 8];
|
|
1022
827
|
case 7:
|
|
1023
828
|
error_1 = _a.sent();
|
|
1024
829
|
this.reject(error_1);
|
|
1025
|
-
return [3
|
|
1026
|
-
/*break*/
|
|
1027
|
-
, 8];
|
|
1028
|
-
|
|
830
|
+
return [3 /*break*/, 8];
|
|
1029
831
|
case 8:
|
|
1030
|
-
return [2
|
|
1031
|
-
/*return*/
|
|
1032
|
-
];
|
|
832
|
+
return [2 /*return*/];
|
|
1033
833
|
}
|
|
1034
834
|
});
|
|
1035
835
|
});
|
|
@@ -1040,17 +840,11 @@ function () {
|
|
|
1040
840
|
return __generator(this, function (_a) {
|
|
1041
841
|
switch (_a.label) {
|
|
1042
842
|
case 0:
|
|
1043
|
-
return [4
|
|
1044
|
-
/*yield*/
|
|
1045
|
-
, this.db.clear()];
|
|
1046
|
-
|
|
843
|
+
return [4 /*yield*/, this.db.clear()];
|
|
1047
844
|
case 1:
|
|
1048
845
|
_a.sent();
|
|
1049
|
-
|
|
1050
846
|
this.initPromise = undefined;
|
|
1051
|
-
return [2
|
|
1052
|
-
/*return*/
|
|
1053
|
-
];
|
|
847
|
+
return [2 /*return*/];
|
|
1054
848
|
}
|
|
1055
849
|
});
|
|
1056
850
|
});
|
|
@@ -1058,10 +852,8 @@ function () {
|
|
|
1058
852
|
|
|
1059
853
|
CommonSQLiteAdapter.prototype.save = function (model, condition) {
|
|
1060
854
|
var e_1, _a;
|
|
1061
|
-
|
|
1062
855
|
return __awaiter(this, void 0, void 0, function () {
|
|
1063
856
|
var modelConstructor, tableName, connectedModels, connectionStoreNames, _b, queryStatement, params, fromDB, predicates, predicateObjs, type, isValid, msg, result, saveStatements, connectionStoreNames_1, connectionStoreNames_1_1, resItem, modelName, item, instance, id, _c, queryStatement_1, params_1, fromDB_1, opType, saveStatement, e_1_1;
|
|
1064
|
-
|
|
1065
857
|
return __generator(this, function (_d) {
|
|
1066
858
|
switch (_d.label) {
|
|
1067
859
|
case 0:
|
|
@@ -1070,8 +862,8 @@ function () {
|
|
|
1070
862
|
connectedModels = traverseModel(modelConstructor.name, model, this.schema.namespaces[this.namespaceResolver(modelConstructor)], this.modelInstanceCreator, this.getModelConstructorByModelName);
|
|
1071
863
|
connectionStoreNames = Object.values(connectedModels).map(function (_a) {
|
|
1072
864
|
var modelName = _a.modelName,
|
|
1073
|
-
|
|
1074
|
-
|
|
865
|
+
item = _a.item,
|
|
866
|
+
instance = _a.instance;
|
|
1075
867
|
return {
|
|
1076
868
|
modelName: modelName,
|
|
1077
869
|
item: item,
|
|
@@ -1079,18 +871,13 @@ function () {
|
|
|
1079
871
|
};
|
|
1080
872
|
});
|
|
1081
873
|
_b = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(model.id, tableName), 2), queryStatement = _b[0], params = _b[1];
|
|
1082
|
-
return [4
|
|
1083
|
-
/*yield*/
|
|
1084
|
-
, this.db.get(queryStatement, params)];
|
|
1085
|
-
|
|
874
|
+
return [4 /*yield*/, this.db.get(queryStatement, params)];
|
|
1086
875
|
case 1:
|
|
1087
876
|
fromDB = _d.sent();
|
|
1088
|
-
|
|
1089
877
|
if (condition && fromDB) {
|
|
1090
878
|
predicates = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["ModelPredicateCreator"].getPredicates(condition);
|
|
1091
879
|
predicateObjs = predicates.predicates, type = predicates.type;
|
|
1092
880
|
isValid = validatePredicate(fromDB, type, predicateObjs);
|
|
1093
|
-
|
|
1094
881
|
if (!isValid) {
|
|
1095
882
|
msg = 'Conditional update failed';
|
|
1096
883
|
logger.error(msg, {
|
|
@@ -1100,122 +887,70 @@ function () {
|
|
|
1100
887
|
throw new Error(msg);
|
|
1101
888
|
}
|
|
1102
889
|
}
|
|
1103
|
-
|
|
1104
890
|
result = [];
|
|
1105
891
|
saveStatements = new Set();
|
|
1106
892
|
_d.label = 2;
|
|
1107
|
-
|
|
1108
893
|
case 2:
|
|
1109
894
|
_d.trys.push([2, 8, 9, 14]);
|
|
1110
|
-
|
|
1111
895
|
connectionStoreNames_1 = __asyncValues(connectionStoreNames);
|
|
1112
896
|
_d.label = 3;
|
|
1113
|
-
|
|
1114
897
|
case 3:
|
|
1115
|
-
return [4
|
|
1116
|
-
/*yield*/
|
|
1117
|
-
, connectionStoreNames_1.next()];
|
|
1118
|
-
|
|
898
|
+
return [4 /*yield*/, connectionStoreNames_1.next()];
|
|
1119
899
|
case 4:
|
|
1120
|
-
if (!(connectionStoreNames_1_1 = _d.sent(), !connectionStoreNames_1_1.done)) return [3
|
|
1121
|
-
/*break*/
|
|
1122
|
-
, 7];
|
|
900
|
+
if (!(connectionStoreNames_1_1 = _d.sent(), !connectionStoreNames_1_1.done)) return [3 /*break*/, 7];
|
|
1123
901
|
resItem = connectionStoreNames_1_1.value;
|
|
1124
902
|
modelName = resItem.modelName, item = resItem.item, instance = resItem.instance;
|
|
1125
903
|
id = item.id;
|
|
1126
904
|
_c = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(id, modelName), 2), queryStatement_1 = _c[0], params_1 = _c[1];
|
|
1127
|
-
return [4
|
|
1128
|
-
/*yield*/
|
|
1129
|
-
, this.db.get(queryStatement_1, params_1)];
|
|
1130
|
-
|
|
905
|
+
return [4 /*yield*/, this.db.get(queryStatement_1, params_1)];
|
|
1131
906
|
case 5:
|
|
1132
907
|
fromDB_1 = _d.sent();
|
|
1133
908
|
opType = fromDB_1 === undefined ? _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["OpType"].INSERT : _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["OpType"].UPDATE;
|
|
1134
909
|
saveStatement = fromDB_1 ? Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["modelUpdateStatement"])(instance, modelName) : Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["modelInsertStatement"])(instance, modelName);
|
|
1135
|
-
|
|
1136
910
|
if (id === model.id || opType === _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["OpType"].INSERT) {
|
|
1137
911
|
saveStatements.add(saveStatement);
|
|
1138
912
|
result.push([instance, opType]);
|
|
1139
913
|
}
|
|
1140
|
-
|
|
1141
914
|
_d.label = 6;
|
|
1142
|
-
|
|
1143
915
|
case 6:
|
|
1144
|
-
return [3
|
|
1145
|
-
/*break*/
|
|
1146
|
-
, 3];
|
|
1147
|
-
|
|
916
|
+
return [3 /*break*/, 3];
|
|
1148
917
|
case 7:
|
|
1149
|
-
return [3
|
|
1150
|
-
/*break*/
|
|
1151
|
-
, 14];
|
|
1152
|
-
|
|
918
|
+
return [3 /*break*/, 14];
|
|
1153
919
|
case 8:
|
|
1154
920
|
e_1_1 = _d.sent();
|
|
1155
921
|
e_1 = {
|
|
1156
922
|
error: e_1_1
|
|
1157
923
|
};
|
|
1158
|
-
return [3
|
|
1159
|
-
/*break*/
|
|
1160
|
-
, 14];
|
|
1161
|
-
|
|
924
|
+
return [3 /*break*/, 14];
|
|
1162
925
|
case 9:
|
|
1163
926
|
_d.trys.push([9,, 12, 13]);
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
/*break*/
|
|
1167
|
-
, 11];
|
|
1168
|
-
return [4
|
|
1169
|
-
/*yield*/
|
|
1170
|
-
, _a.call(connectionStoreNames_1)];
|
|
1171
|
-
|
|
927
|
+
if (!(connectionStoreNames_1_1 && !connectionStoreNames_1_1.done && (_a = connectionStoreNames_1["return"]))) return [3 /*break*/, 11];
|
|
928
|
+
return [4 /*yield*/, _a.call(connectionStoreNames_1)];
|
|
1172
929
|
case 10:
|
|
1173
930
|
_d.sent();
|
|
1174
|
-
|
|
1175
931
|
_d.label = 11;
|
|
1176
|
-
|
|
1177
932
|
case 11:
|
|
1178
|
-
return [3
|
|
1179
|
-
/*break*/
|
|
1180
|
-
, 13];
|
|
1181
|
-
|
|
933
|
+
return [3 /*break*/, 13];
|
|
1182
934
|
case 12:
|
|
1183
935
|
if (e_1) throw e_1.error;
|
|
1184
|
-
return [7
|
|
1185
|
-
/*endfinally*/
|
|
1186
|
-
];
|
|
1187
|
-
|
|
936
|
+
return [7 /*endfinally*/];
|
|
1188
937
|
case 13:
|
|
1189
|
-
return [7
|
|
1190
|
-
/*endfinally*/
|
|
1191
|
-
];
|
|
1192
|
-
|
|
938
|
+
return [7 /*endfinally*/];
|
|
1193
939
|
case 14:
|
|
1194
|
-
return [4
|
|
1195
|
-
/*yield*/
|
|
1196
|
-
, this.db.batchSave(saveStatements)];
|
|
1197
|
-
|
|
940
|
+
return [4 /*yield*/, this.db.batchSave(saveStatements)];
|
|
1198
941
|
case 15:
|
|
1199
942
|
_d.sent();
|
|
1200
|
-
|
|
1201
|
-
return [2
|
|
1202
|
-
/*return*/
|
|
1203
|
-
, result];
|
|
943
|
+
return [2 /*return*/, result];
|
|
1204
944
|
}
|
|
1205
945
|
});
|
|
1206
946
|
});
|
|
1207
947
|
};
|
|
1208
|
-
|
|
1209
948
|
CommonSQLiteAdapter.prototype.load = function (namespaceName, srcModelName, records) {
|
|
1210
949
|
var records_1, records_1_1, records_2, records_2_1;
|
|
1211
|
-
|
|
1212
950
|
var e_2, _a, e_3, _b, e_4, _c;
|
|
1213
|
-
|
|
1214
951
|
return __awaiter(this, void 0, void 0, function () {
|
|
1215
952
|
var namespace, relations, connectionTableNames, modelConstructor, relations_1, relations_1_1, relation, fieldName, tableName, targetName, relationType, modelConstructor_1, _d, recordItem, getByfield, _e, queryStatement, params, connectionRecord, e_3_1, recordItem, _f, queryStatement, params, connectionRecord, e_4_1, _, e_2_1;
|
|
1216
|
-
|
|
1217
953
|
var _this = this;
|
|
1218
|
-
|
|
1219
954
|
return __generator(this, function (_g) {
|
|
1220
955
|
switch (_g.label) {
|
|
1221
956
|
case 0:
|
|
@@ -1226,305 +961,161 @@ function () {
|
|
|
1226
961
|
return modelName;
|
|
1227
962
|
});
|
|
1228
963
|
modelConstructor = this.getModelConstructorByModelName(namespaceName, srcModelName);
|
|
1229
|
-
|
|
1230
964
|
if (connectionTableNames.length === 0) {
|
|
1231
|
-
return [2
|
|
1232
|
-
/*return*/
|
|
1233
|
-
, records.map(function (record) {
|
|
965
|
+
return [2 /*return*/, records.map(function (record) {
|
|
1234
966
|
return _this.modelInstanceCreator(modelConstructor, record);
|
|
1235
967
|
})];
|
|
1236
968
|
}
|
|
1237
|
-
|
|
1238
969
|
_g.label = 1;
|
|
1239
|
-
|
|
1240
970
|
case 1:
|
|
1241
971
|
_g.trys.push([1, 34, 35, 40]);
|
|
1242
|
-
|
|
1243
972
|
relations_1 = __asyncValues(relations);
|
|
1244
973
|
_g.label = 2;
|
|
1245
|
-
|
|
1246
974
|
case 2:
|
|
1247
|
-
return [4
|
|
1248
|
-
/*yield*/
|
|
1249
|
-
, relations_1.next()];
|
|
1250
|
-
|
|
975
|
+
return [4 /*yield*/, relations_1.next()];
|
|
1251
976
|
case 3:
|
|
1252
|
-
if (!(relations_1_1 = _g.sent(), !relations_1_1.done)) return [3
|
|
1253
|
-
/*break*/
|
|
1254
|
-
, 33];
|
|
977
|
+
if (!(relations_1_1 = _g.sent(), !relations_1_1.done)) return [3 /*break*/, 33];
|
|
1255
978
|
relation = relations_1_1.value;
|
|
1256
979
|
fieldName = relation.fieldName, tableName = relation.modelName, targetName = relation.targetName, relationType = relation.relationType;
|
|
1257
980
|
modelConstructor_1 = this.getModelConstructorByModelName(namespaceName, tableName);
|
|
1258
981
|
_d = relationType;
|
|
1259
|
-
|
|
1260
982
|
switch (_d) {
|
|
1261
983
|
case 'HAS_ONE':
|
|
1262
|
-
return [3
|
|
1263
|
-
/*break*/
|
|
1264
|
-
, 4];
|
|
1265
|
-
|
|
984
|
+
return [3 /*break*/, 4];
|
|
1266
985
|
case 'BELONGS_TO':
|
|
1267
|
-
return [3
|
|
1268
|
-
/*break*/
|
|
1269
|
-
, 17];
|
|
1270
|
-
|
|
986
|
+
return [3 /*break*/, 17];
|
|
1271
987
|
case 'HAS_MANY':
|
|
1272
|
-
return [3
|
|
1273
|
-
/*break*/
|
|
1274
|
-
, 30];
|
|
988
|
+
return [3 /*break*/, 30];
|
|
1275
989
|
}
|
|
1276
|
-
|
|
1277
|
-
return [3
|
|
1278
|
-
/*break*/
|
|
1279
|
-
, 31];
|
|
1280
|
-
|
|
990
|
+
return [3 /*break*/, 31];
|
|
1281
991
|
case 4:
|
|
1282
992
|
_g.trys.push([4, 10, 11, 16]);
|
|
1283
|
-
|
|
1284
993
|
records_1 = __asyncValues(records);
|
|
1285
994
|
_g.label = 5;
|
|
1286
|
-
|
|
1287
995
|
case 5:
|
|
1288
|
-
return [4
|
|
1289
|
-
/*yield*/
|
|
1290
|
-
, records_1.next()];
|
|
1291
|
-
|
|
996
|
+
return [4 /*yield*/, records_1.next()];
|
|
1292
997
|
case 6:
|
|
1293
|
-
if (!(records_1_1 = _g.sent(), !records_1_1.done)) return [3
|
|
1294
|
-
/*break*/
|
|
1295
|
-
, 9];
|
|
998
|
+
if (!(records_1_1 = _g.sent(), !records_1_1.done)) return [3 /*break*/, 9];
|
|
1296
999
|
recordItem = records_1_1.value;
|
|
1297
1000
|
getByfield = recordItem[targetName] ? targetName : fieldName;
|
|
1298
|
-
if (!recordItem[getByfield]) return [3
|
|
1299
|
-
/*break*/
|
|
1300
|
-
, 9];
|
|
1001
|
+
if (!recordItem[getByfield]) return [3 /*break*/, 9];
|
|
1301
1002
|
_e = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(recordItem[getByfield], tableName), 2), queryStatement = _e[0], params = _e[1];
|
|
1302
|
-
return [4
|
|
1303
|
-
/*yield*/
|
|
1304
|
-
, this.db.get(queryStatement, params)];
|
|
1305
|
-
|
|
1003
|
+
return [4 /*yield*/, this.db.get(queryStatement, params)];
|
|
1306
1004
|
case 7:
|
|
1307
1005
|
connectionRecord = _g.sent();
|
|
1308
1006
|
recordItem[fieldName] = connectionRecord && this.modelInstanceCreator(modelConstructor_1, connectionRecord);
|
|
1309
1007
|
_g.label = 8;
|
|
1310
|
-
|
|
1311
1008
|
case 8:
|
|
1312
|
-
return [3
|
|
1313
|
-
/*break*/
|
|
1314
|
-
, 5];
|
|
1315
|
-
|
|
1009
|
+
return [3 /*break*/, 5];
|
|
1316
1010
|
case 9:
|
|
1317
|
-
return [3
|
|
1318
|
-
/*break*/
|
|
1319
|
-
, 16];
|
|
1320
|
-
|
|
1011
|
+
return [3 /*break*/, 16];
|
|
1321
1012
|
case 10:
|
|
1322
1013
|
e_3_1 = _g.sent();
|
|
1323
1014
|
e_3 = {
|
|
1324
1015
|
error: e_3_1
|
|
1325
1016
|
};
|
|
1326
|
-
return [3
|
|
1327
|
-
/*break*/
|
|
1328
|
-
, 16];
|
|
1329
|
-
|
|
1017
|
+
return [3 /*break*/, 16];
|
|
1330
1018
|
case 11:
|
|
1331
1019
|
_g.trys.push([11,, 14, 15]);
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
/*break*/
|
|
1335
|
-
, 13];
|
|
1336
|
-
return [4
|
|
1337
|
-
/*yield*/
|
|
1338
|
-
, _b.call(records_1)];
|
|
1339
|
-
|
|
1020
|
+
if (!(records_1_1 && !records_1_1.done && (_b = records_1["return"]))) return [3 /*break*/, 13];
|
|
1021
|
+
return [4 /*yield*/, _b.call(records_1)];
|
|
1340
1022
|
case 12:
|
|
1341
1023
|
_g.sent();
|
|
1342
|
-
|
|
1343
1024
|
_g.label = 13;
|
|
1344
|
-
|
|
1345
1025
|
case 13:
|
|
1346
|
-
return [3
|
|
1347
|
-
/*break*/
|
|
1348
|
-
, 15];
|
|
1349
|
-
|
|
1026
|
+
return [3 /*break*/, 15];
|
|
1350
1027
|
case 14:
|
|
1351
1028
|
if (e_3) throw e_3.error;
|
|
1352
|
-
return [7
|
|
1353
|
-
/*endfinally*/
|
|
1354
|
-
];
|
|
1355
|
-
|
|
1029
|
+
return [7 /*endfinally*/];
|
|
1356
1030
|
case 15:
|
|
1357
|
-
return [7
|
|
1358
|
-
/*endfinally*/
|
|
1359
|
-
];
|
|
1360
|
-
|
|
1031
|
+
return [7 /*endfinally*/];
|
|
1361
1032
|
case 16:
|
|
1362
|
-
return [3
|
|
1363
|
-
/*break*/
|
|
1364
|
-
, 32];
|
|
1365
|
-
|
|
1033
|
+
return [3 /*break*/, 32];
|
|
1366
1034
|
case 17:
|
|
1367
1035
|
_g.trys.push([17, 23, 24, 29]);
|
|
1368
|
-
|
|
1369
1036
|
records_2 = __asyncValues(records);
|
|
1370
1037
|
_g.label = 18;
|
|
1371
|
-
|
|
1372
1038
|
case 18:
|
|
1373
|
-
return [4
|
|
1374
|
-
/*yield*/
|
|
1375
|
-
, records_2.next()];
|
|
1376
|
-
|
|
1039
|
+
return [4 /*yield*/, records_2.next()];
|
|
1377
1040
|
case 19:
|
|
1378
|
-
if (!(records_2_1 = _g.sent(), !records_2_1.done)) return [3
|
|
1379
|
-
/*break*/
|
|
1380
|
-
, 22];
|
|
1041
|
+
if (!(records_2_1 = _g.sent(), !records_2_1.done)) return [3 /*break*/, 22];
|
|
1381
1042
|
recordItem = records_2_1.value;
|
|
1382
|
-
if (!recordItem[targetName]) return [3
|
|
1383
|
-
/*break*/
|
|
1384
|
-
, 21];
|
|
1043
|
+
if (!recordItem[targetName]) return [3 /*break*/, 21];
|
|
1385
1044
|
_f = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(recordItem[targetName], tableName), 2), queryStatement = _f[0], params = _f[1];
|
|
1386
|
-
return [4
|
|
1387
|
-
/*yield*/
|
|
1388
|
-
, this.db.get(queryStatement, params)];
|
|
1389
|
-
|
|
1045
|
+
return [4 /*yield*/, this.db.get(queryStatement, params)];
|
|
1390
1046
|
case 20:
|
|
1391
1047
|
connectionRecord = _g.sent();
|
|
1392
1048
|
recordItem[fieldName] = connectionRecord && this.modelInstanceCreator(modelConstructor_1, connectionRecord);
|
|
1393
1049
|
delete recordItem[targetName];
|
|
1394
1050
|
_g.label = 21;
|
|
1395
|
-
|
|
1396
1051
|
case 21:
|
|
1397
|
-
return [3
|
|
1398
|
-
/*break*/
|
|
1399
|
-
, 18];
|
|
1400
|
-
|
|
1052
|
+
return [3 /*break*/, 18];
|
|
1401
1053
|
case 22:
|
|
1402
|
-
return [3
|
|
1403
|
-
/*break*/
|
|
1404
|
-
, 29];
|
|
1405
|
-
|
|
1054
|
+
return [3 /*break*/, 29];
|
|
1406
1055
|
case 23:
|
|
1407
1056
|
e_4_1 = _g.sent();
|
|
1408
1057
|
e_4 = {
|
|
1409
1058
|
error: e_4_1
|
|
1410
1059
|
};
|
|
1411
|
-
return [3
|
|
1412
|
-
/*break*/
|
|
1413
|
-
, 29];
|
|
1414
|
-
|
|
1060
|
+
return [3 /*break*/, 29];
|
|
1415
1061
|
case 24:
|
|
1416
1062
|
_g.trys.push([24,, 27, 28]);
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
/*break*/
|
|
1420
|
-
, 26];
|
|
1421
|
-
return [4
|
|
1422
|
-
/*yield*/
|
|
1423
|
-
, _c.call(records_2)];
|
|
1424
|
-
|
|
1063
|
+
if (!(records_2_1 && !records_2_1.done && (_c = records_2["return"]))) return [3 /*break*/, 26];
|
|
1064
|
+
return [4 /*yield*/, _c.call(records_2)];
|
|
1425
1065
|
case 25:
|
|
1426
1066
|
_g.sent();
|
|
1427
|
-
|
|
1428
1067
|
_g.label = 26;
|
|
1429
|
-
|
|
1430
1068
|
case 26:
|
|
1431
|
-
return [3
|
|
1432
|
-
/*break*/
|
|
1433
|
-
, 28];
|
|
1434
|
-
|
|
1069
|
+
return [3 /*break*/, 28];
|
|
1435
1070
|
case 27:
|
|
1436
1071
|
if (e_4) throw e_4.error;
|
|
1437
|
-
return [7
|
|
1438
|
-
/*endfinally*/
|
|
1439
|
-
];
|
|
1440
|
-
|
|
1072
|
+
return [7 /*endfinally*/];
|
|
1441
1073
|
case 28:
|
|
1442
|
-
return [7
|
|
1443
|
-
/*endfinally*/
|
|
1444
|
-
];
|
|
1445
|
-
|
|
1074
|
+
return [7 /*endfinally*/];
|
|
1446
1075
|
case 29:
|
|
1447
|
-
return [3
|
|
1448
|
-
/*break*/
|
|
1449
|
-
, 32];
|
|
1450
|
-
|
|
1076
|
+
return [3 /*break*/, 32];
|
|
1451
1077
|
case 30:
|
|
1452
1078
|
// TODO: Lazy loading
|
|
1453
|
-
return [3
|
|
1454
|
-
/*break*/
|
|
1455
|
-
, 32];
|
|
1456
|
-
|
|
1079
|
+
return [3 /*break*/, 32];
|
|
1457
1080
|
case 31:
|
|
1458
1081
|
_ = relationType;
|
|
1459
1082
|
throw new Error("invalid relation type " + relationType);
|
|
1460
|
-
|
|
1461
1083
|
case 32:
|
|
1462
|
-
return [3
|
|
1463
|
-
/*break*/
|
|
1464
|
-
, 2];
|
|
1465
|
-
|
|
1084
|
+
return [3 /*break*/, 2];
|
|
1466
1085
|
case 33:
|
|
1467
|
-
return [3
|
|
1468
|
-
/*break*/
|
|
1469
|
-
, 40];
|
|
1470
|
-
|
|
1086
|
+
return [3 /*break*/, 40];
|
|
1471
1087
|
case 34:
|
|
1472
1088
|
e_2_1 = _g.sent();
|
|
1473
1089
|
e_2 = {
|
|
1474
1090
|
error: e_2_1
|
|
1475
1091
|
};
|
|
1476
|
-
return [3
|
|
1477
|
-
/*break*/
|
|
1478
|
-
, 40];
|
|
1479
|
-
|
|
1092
|
+
return [3 /*break*/, 40];
|
|
1480
1093
|
case 35:
|
|
1481
1094
|
_g.trys.push([35,, 38, 39]);
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
/*break*/
|
|
1485
|
-
, 37];
|
|
1486
|
-
return [4
|
|
1487
|
-
/*yield*/
|
|
1488
|
-
, _a.call(relations_1)];
|
|
1489
|
-
|
|
1095
|
+
if (!(relations_1_1 && !relations_1_1.done && (_a = relations_1["return"]))) return [3 /*break*/, 37];
|
|
1096
|
+
return [4 /*yield*/, _a.call(relations_1)];
|
|
1490
1097
|
case 36:
|
|
1491
1098
|
_g.sent();
|
|
1492
|
-
|
|
1493
1099
|
_g.label = 37;
|
|
1494
|
-
|
|
1495
1100
|
case 37:
|
|
1496
|
-
return [3
|
|
1497
|
-
/*break*/
|
|
1498
|
-
, 39];
|
|
1499
|
-
|
|
1101
|
+
return [3 /*break*/, 39];
|
|
1500
1102
|
case 38:
|
|
1501
1103
|
if (e_2) throw e_2.error;
|
|
1502
|
-
return [7
|
|
1503
|
-
/*endfinally*/
|
|
1504
|
-
];
|
|
1505
|
-
|
|
1104
|
+
return [7 /*endfinally*/];
|
|
1506
1105
|
case 39:
|
|
1507
|
-
return [7
|
|
1508
|
-
/*endfinally*/
|
|
1509
|
-
];
|
|
1510
|
-
|
|
1106
|
+
return [7 /*endfinally*/];
|
|
1511
1107
|
case 40:
|
|
1512
|
-
return [2
|
|
1513
|
-
/*return*/
|
|
1514
|
-
, records.map(function (record) {
|
|
1108
|
+
return [2 /*return*/, records.map(function (record) {
|
|
1515
1109
|
return _this.modelInstanceCreator(modelConstructor, record);
|
|
1516
1110
|
})];
|
|
1517
1111
|
}
|
|
1518
1112
|
});
|
|
1519
1113
|
});
|
|
1520
1114
|
};
|
|
1521
|
-
|
|
1522
1115
|
CommonSQLiteAdapter.prototype.query = function (modelConstructor, predicate, pagination) {
|
|
1523
1116
|
return __awaiter(this, void 0, void 0, function () {
|
|
1524
1117
|
var tableName, namespaceName, predicates, sortPredicates, limit, page, queryById, records;
|
|
1525
|
-
|
|
1526
1118
|
var _this = this;
|
|
1527
|
-
|
|
1528
1119
|
return __generator(this, function (_a) {
|
|
1529
1120
|
switch (_a.label) {
|
|
1530
1121
|
case 0:
|
|
@@ -1535,80 +1126,50 @@ function () {
|
|
|
1535
1126
|
limit = pagination && pagination.limit;
|
|
1536
1127
|
page = limit && pagination.page;
|
|
1537
1128
|
queryById = predicates && this.idFromPredicate(predicates);
|
|
1538
|
-
return [4
|
|
1539
|
-
/*yield*/
|
|
1540
|
-
, function () {
|
|
1129
|
+
return [4 /*yield*/, function () {
|
|
1541
1130
|
return __awaiter(_this, void 0, void 0, function () {
|
|
1542
1131
|
var record, _a, queryStatement, params;
|
|
1543
|
-
|
|
1544
1132
|
return __generator(this, function (_b) {
|
|
1545
1133
|
switch (_b.label) {
|
|
1546
1134
|
case 0:
|
|
1547
|
-
if (!queryById) return [3
|
|
1548
|
-
/*
|
|
1549
|
-
, 2];
|
|
1550
|
-
return [4
|
|
1551
|
-
/*yield*/
|
|
1552
|
-
, this.getById(tableName, queryById)];
|
|
1553
|
-
|
|
1135
|
+
if (!queryById) return [3 /*break*/, 2];
|
|
1136
|
+
return [4 /*yield*/, this.getById(tableName, queryById)];
|
|
1554
1137
|
case 1:
|
|
1555
1138
|
record = _b.sent();
|
|
1556
|
-
return [2
|
|
1557
|
-
/*return*/
|
|
1558
|
-
, record ? [record] : []];
|
|
1559
|
-
|
|
1139
|
+
return [2 /*return*/, record ? [record] : []];
|
|
1560
1140
|
case 2:
|
|
1561
1141
|
_a = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryAllStatement"])(tableName, predicates, sortPredicates, limit, page), 2), queryStatement = _a[0], params = _a[1];
|
|
1562
|
-
return [4
|
|
1563
|
-
/*yield*/
|
|
1564
|
-
, this.db.getAll(queryStatement, params)];
|
|
1565
|
-
|
|
1142
|
+
return [4 /*yield*/, this.db.getAll(queryStatement, params)];
|
|
1566
1143
|
case 3:
|
|
1567
|
-
return [2
|
|
1568
|
-
/*return*/
|
|
1569
|
-
, _b.sent()];
|
|
1144
|
+
return [2 /*return*/, _b.sent()];
|
|
1570
1145
|
}
|
|
1571
1146
|
});
|
|
1572
1147
|
});
|
|
1573
1148
|
}()];
|
|
1574
|
-
|
|
1575
1149
|
case 1:
|
|
1576
1150
|
records = _a.sent();
|
|
1577
|
-
return [4
|
|
1578
|
-
/*yield*/
|
|
1579
|
-
, this.load(namespaceName, modelConstructor.name, records)];
|
|
1580
|
-
|
|
1151
|
+
return [4 /*yield*/, this.load(namespaceName, modelConstructor.name, records)];
|
|
1581
1152
|
case 2:
|
|
1582
|
-
return [2
|
|
1583
|
-
/*return*/
|
|
1584
|
-
, _a.sent()];
|
|
1153
|
+
return [2 /*return*/, _a.sent()];
|
|
1585
1154
|
}
|
|
1586
1155
|
});
|
|
1587
1156
|
});
|
|
1588
1157
|
};
|
|
1589
|
-
|
|
1590
1158
|
CommonSQLiteAdapter.prototype.getById = function (tableName, id) {
|
|
1591
1159
|
return __awaiter(this, void 0, void 0, function () {
|
|
1592
1160
|
var _a, queryStatement, params, record;
|
|
1593
|
-
|
|
1594
1161
|
return __generator(this, function (_b) {
|
|
1595
1162
|
switch (_b.label) {
|
|
1596
1163
|
case 0:
|
|
1597
1164
|
_a = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(id, tableName), 2), queryStatement = _a[0], params = _a[1];
|
|
1598
|
-
return [4
|
|
1599
|
-
/*yield*/
|
|
1600
|
-
, this.db.get(queryStatement, params)];
|
|
1601
|
-
|
|
1165
|
+
return [4 /*yield*/, this.db.get(queryStatement, params)];
|
|
1602
1166
|
case 1:
|
|
1603
1167
|
record = _b.sent();
|
|
1604
|
-
return [2
|
|
1605
|
-
/*return*/
|
|
1606
|
-
, record];
|
|
1168
|
+
return [2 /*return*/, record];
|
|
1607
1169
|
}
|
|
1608
1170
|
});
|
|
1609
1171
|
});
|
|
1610
1172
|
};
|
|
1611
|
-
|
|
1612
1173
|
CommonSQLiteAdapter.prototype.idFromPredicate = function (predicates) {
|
|
1613
1174
|
var predicateObjs = predicates.predicates;
|
|
1614
1175
|
var idPredicate = predicateObjs.length === 1 && predicateObjs.find(function (p) {
|
|
@@ -1616,99 +1177,68 @@ function () {
|
|
|
1616
1177
|
});
|
|
1617
1178
|
return idPredicate && idPredicate.operand;
|
|
1618
1179
|
};
|
|
1619
|
-
|
|
1620
1180
|
CommonSQLiteAdapter.prototype.queryOne = function (modelConstructor, firstOrLast) {
|
|
1621
1181
|
if (firstOrLast === void 0) {
|
|
1622
1182
|
firstOrLast = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["QueryOne"].FIRST;
|
|
1623
1183
|
}
|
|
1624
|
-
|
|
1625
1184
|
return __awaiter(this, void 0, void 0, function () {
|
|
1626
1185
|
var tableName, _a, queryStatement, params, result, modelInstance;
|
|
1627
|
-
|
|
1628
1186
|
return __generator(this, function (_b) {
|
|
1629
1187
|
switch (_b.label) {
|
|
1630
1188
|
case 0:
|
|
1631
1189
|
tableName = modelConstructor.name;
|
|
1632
1190
|
_a = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryOneStatement"])(firstOrLast, tableName), 2), queryStatement = _a[0], params = _a[1];
|
|
1633
|
-
return [4
|
|
1634
|
-
/*yield*/
|
|
1635
|
-
, this.db.get(queryStatement, params)];
|
|
1636
|
-
|
|
1191
|
+
return [4 /*yield*/, this.db.get(queryStatement, params)];
|
|
1637
1192
|
case 1:
|
|
1638
1193
|
result = _b.sent();
|
|
1639
1194
|
modelInstance = result && this.modelInstanceCreator(modelConstructor, result);
|
|
1640
|
-
return [2
|
|
1641
|
-
/*return*/
|
|
1642
|
-
, modelInstance];
|
|
1195
|
+
return [2 /*return*/, modelInstance];
|
|
1643
1196
|
}
|
|
1644
1197
|
});
|
|
1645
1198
|
});
|
|
1646
|
-
};
|
|
1199
|
+
};
|
|
1200
|
+
// Currently does not cascade
|
|
1647
1201
|
// TODO: use FKs in relations and have `ON DELETE CASCADE` set
|
|
1648
1202
|
// For Has Many and Has One relations to have SQL handle cascades automatically
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
1203
|
CommonSQLiteAdapter.prototype["delete"] = function (modelOrModelConstructor, condition) {
|
|
1652
1204
|
return __awaiter(this, void 0, void 0, function () {
|
|
1653
1205
|
var modelConstructor, namespaceName, tableName, predicates, queryStatement, deleteStatement, models, modelInstances, model, modelConstructor, tableName, _a, queryStatement, params, fromDB, msg, predicates, predicateObjs, type, isValid, msg, _b, deleteStatement, deleteParams, _c, deleteStatement, params;
|
|
1654
|
-
|
|
1655
1206
|
return __generator(this, function (_d) {
|
|
1656
1207
|
switch (_d.label) {
|
|
1657
1208
|
case 0:
|
|
1658
|
-
if (!isModelConstructor(modelOrModelConstructor)) return [3
|
|
1659
|
-
/*break*/
|
|
1660
|
-
, 3];
|
|
1209
|
+
if (!isModelConstructor(modelOrModelConstructor)) return [3 /*break*/, 3];
|
|
1661
1210
|
modelConstructor = modelOrModelConstructor;
|
|
1662
1211
|
namespaceName = this.namespaceResolver(modelConstructor);
|
|
1663
1212
|
tableName = modelConstructor.name;
|
|
1664
1213
|
predicates = condition && _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["ModelPredicateCreator"].getPredicates(condition);
|
|
1665
1214
|
queryStatement = Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryAllStatement"])(tableName, predicates);
|
|
1666
1215
|
deleteStatement = Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["deleteByPredicateStatement"])(tableName, predicates);
|
|
1667
|
-
return [4
|
|
1668
|
-
/*yield*/
|
|
1669
|
-
, this.db.selectAndDelete(queryStatement, deleteStatement)];
|
|
1670
|
-
|
|
1216
|
+
return [4 /*yield*/, this.db.selectAndDelete(queryStatement, deleteStatement)];
|
|
1671
1217
|
case 1:
|
|
1672
1218
|
models = _d.sent();
|
|
1673
|
-
return [4
|
|
1674
|
-
/*yield*/
|
|
1675
|
-
, this.load(namespaceName, modelConstructor.name, models)];
|
|
1676
|
-
|
|
1219
|
+
return [4 /*yield*/, this.load(namespaceName, modelConstructor.name, models)];
|
|
1677
1220
|
case 2:
|
|
1678
1221
|
modelInstances = _d.sent();
|
|
1679
|
-
return [2
|
|
1680
|
-
/*return*/
|
|
1681
|
-
, [modelInstances, modelInstances]];
|
|
1682
|
-
|
|
1222
|
+
return [2 /*return*/, [modelInstances, modelInstances]];
|
|
1683
1223
|
case 3:
|
|
1684
1224
|
model = modelOrModelConstructor;
|
|
1685
1225
|
modelConstructor = Object.getPrototypeOf(model).constructor;
|
|
1686
1226
|
tableName = modelConstructor.name;
|
|
1687
|
-
if (!condition) return [3
|
|
1688
|
-
/*break*/
|
|
1689
|
-
, 6];
|
|
1227
|
+
if (!condition) return [3 /*break*/, 6];
|
|
1690
1228
|
_a = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(model.id, tableName), 2), queryStatement = _a[0], params = _a[1];
|
|
1691
|
-
return [4
|
|
1692
|
-
/*yield*/
|
|
1693
|
-
, this.db.get(queryStatement, params)];
|
|
1694
|
-
|
|
1229
|
+
return [4 /*yield*/, this.db.get(queryStatement, params)];
|
|
1695
1230
|
case 4:
|
|
1696
1231
|
fromDB = _d.sent();
|
|
1697
|
-
|
|
1698
1232
|
if (fromDB === undefined) {
|
|
1699
1233
|
msg = 'Model instance not found in storage';
|
|
1700
1234
|
logger.warn(msg, {
|
|
1701
1235
|
model: model
|
|
1702
1236
|
});
|
|
1703
|
-
return [2
|
|
1704
|
-
/*return*/
|
|
1705
|
-
, [[model], []]];
|
|
1237
|
+
return [2 /*return*/, [[model], []]];
|
|
1706
1238
|
}
|
|
1707
|
-
|
|
1708
1239
|
predicates = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["ModelPredicateCreator"].getPredicates(condition);
|
|
1709
1240
|
predicateObjs = predicates.predicates, type = predicates.type;
|
|
1710
1241
|
isValid = validatePredicate(fromDB, type, predicateObjs);
|
|
1711
|
-
|
|
1712
1242
|
if (!isValid) {
|
|
1713
1243
|
msg = 'Conditional update failed';
|
|
1714
1244
|
logger.error(msg, {
|
|
@@ -1717,42 +1247,25 @@ function () {
|
|
|
1717
1247
|
});
|
|
1718
1248
|
throw new Error(msg);
|
|
1719
1249
|
}
|
|
1720
|
-
|
|
1721
1250
|
_b = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["deleteByIdStatement"])(model.id, tableName), 2), deleteStatement = _b[0], deleteParams = _b[1];
|
|
1722
|
-
return [4
|
|
1723
|
-
/*yield*/
|
|
1724
|
-
, this.db.save(deleteStatement, deleteParams)];
|
|
1725
|
-
|
|
1251
|
+
return [4 /*yield*/, this.db.save(deleteStatement, deleteParams)];
|
|
1726
1252
|
case 5:
|
|
1727
1253
|
_d.sent();
|
|
1728
|
-
|
|
1729
|
-
return [2
|
|
1730
|
-
/*return*/
|
|
1731
|
-
, [[model], [model]]];
|
|
1732
|
-
|
|
1254
|
+
return [2 /*return*/, [[model], [model]]];
|
|
1733
1255
|
case 6:
|
|
1734
1256
|
_c = __read(Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["deleteByIdStatement"])(model.id, tableName), 2), deleteStatement = _c[0], params = _c[1];
|
|
1735
|
-
return [4
|
|
1736
|
-
/*yield*/
|
|
1737
|
-
, this.db.save(deleteStatement, params)];
|
|
1738
|
-
|
|
1257
|
+
return [4 /*yield*/, this.db.save(deleteStatement, params)];
|
|
1739
1258
|
case 7:
|
|
1740
1259
|
_d.sent();
|
|
1741
|
-
|
|
1742
|
-
return [2
|
|
1743
|
-
/*return*/
|
|
1744
|
-
, [[model], [model]]];
|
|
1260
|
+
return [2 /*return*/, [[model], [model]]];
|
|
1745
1261
|
}
|
|
1746
1262
|
});
|
|
1747
1263
|
});
|
|
1748
1264
|
};
|
|
1749
|
-
|
|
1750
1265
|
CommonSQLiteAdapter.prototype.batchSave = function (modelConstructor, items) {
|
|
1751
1266
|
return __awaiter(this, void 0, void 0, function () {
|
|
1752
1267
|
var tableName, result, itemsToSave, queryStatements, deleteStatements, saveStatements, _loop_1, this_1, items_1, items_1_1, item, queryResponses;
|
|
1753
|
-
|
|
1754
1268
|
var e_5, _a;
|
|
1755
|
-
|
|
1756
1269
|
return __generator(this, function (_b) {
|
|
1757
1270
|
switch (_b.label) {
|
|
1758
1271
|
case 0:
|
|
@@ -1762,16 +1275,14 @@ function () {
|
|
|
1762
1275
|
queryStatements = new Set();
|
|
1763
1276
|
deleteStatements = new Set();
|
|
1764
1277
|
saveStatements = new Set();
|
|
1765
|
-
|
|
1766
1278
|
_loop_1 = function _loop_1(item) {
|
|
1767
1279
|
var connectedModels = traverseModel(modelConstructor.name, this_1.modelInstanceCreator(modelConstructor, item), this_1.schema.namespaces[this_1.namespaceResolver(modelConstructor)], this_1.modelInstanceCreator, this_1.getModelConstructorByModelName);
|
|
1768
1280
|
var id = item.id,
|
|
1769
|
-
|
|
1281
|
+
_deleted = item._deleted;
|
|
1770
1282
|
var instance = connectedModels.find(function (_a) {
|
|
1771
1283
|
var instance = _a.instance;
|
|
1772
1284
|
return instance.id === id;
|
|
1773
1285
|
}).instance;
|
|
1774
|
-
|
|
1775
1286
|
if (_deleted) {
|
|
1776
1287
|
// create the delete statements right away
|
|
1777
1288
|
var deleteStatement = Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["deleteByIdStatement"])(instance.id, tableName);
|
|
@@ -1780,18 +1291,15 @@ function () {
|
|
|
1780
1291
|
} else {
|
|
1781
1292
|
// query statements for the saves at first
|
|
1782
1293
|
var queryStatement = Object(_common_SQLiteUtils__WEBPACK_IMPORTED_MODULE_1__["queryByIdStatement"])(id, tableName);
|
|
1783
|
-
queryStatements.add(queryStatement);
|
|
1784
|
-
|
|
1294
|
+
queryStatements.add(queryStatement);
|
|
1295
|
+
// combination of insert and update items
|
|
1785
1296
|
itemsToSave.push(instance);
|
|
1786
1297
|
}
|
|
1787
1298
|
};
|
|
1788
|
-
|
|
1789
1299
|
this_1 = this;
|
|
1790
|
-
|
|
1791
1300
|
try {
|
|
1792
1301
|
for (items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
|
|
1793
1302
|
item = items_1_1.value;
|
|
1794
|
-
|
|
1795
1303
|
_loop_1(item);
|
|
1796
1304
|
}
|
|
1797
1305
|
} catch (e_5_1) {
|
|
@@ -1805,11 +1313,7 @@ function () {
|
|
|
1805
1313
|
if (e_5) throw e_5.error;
|
|
1806
1314
|
}
|
|
1807
1315
|
}
|
|
1808
|
-
|
|
1809
|
-
return [4
|
|
1810
|
-
/*yield*/
|
|
1811
|
-
, this.db.batchQuery(queryStatements)];
|
|
1812
|
-
|
|
1316
|
+
return [4 /*yield*/, this.db.batchQuery(queryStatements)];
|
|
1813
1317
|
case 1:
|
|
1814
1318
|
queryResponses = _b.sent();
|
|
1815
1319
|
queryResponses.forEach(function (response, idx) {
|
|
@@ -1822,29 +1326,21 @@ function () {
|
|
|
1822
1326
|
saveStatements.add(updateStatement);
|
|
1823
1327
|
result.push([itemsToSave[idx], _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_2__["OpType"].UPDATE]);
|
|
1824
1328
|
}
|
|
1825
|
-
});
|
|
1826
|
-
|
|
1827
|
-
return [4
|
|
1828
|
-
/*yield*/
|
|
1829
|
-
, this.db.batchSave(saveStatements, deleteStatements)];
|
|
1830
|
-
|
|
1329
|
+
});
|
|
1330
|
+
// perform all of the insert/update/delete operations in a single transaction
|
|
1331
|
+
return [4 /*yield*/, this.db.batchSave(saveStatements, deleteStatements)];
|
|
1831
1332
|
case 2:
|
|
1832
1333
|
// perform all of the insert/update/delete operations in a single transaction
|
|
1833
1334
|
_b.sent();
|
|
1834
|
-
|
|
1835
|
-
return [2
|
|
1836
|
-
/*return*/
|
|
1837
|
-
, result];
|
|
1335
|
+
return [2 /*return*/, result];
|
|
1838
1336
|
}
|
|
1839
1337
|
});
|
|
1840
1338
|
});
|
|
1841
1339
|
};
|
|
1842
|
-
|
|
1843
1340
|
return CommonSQLiteAdapter;
|
|
1844
1341
|
}();
|
|
1845
1342
|
|
|
1846
1343
|
|
|
1847
|
-
|
|
1848
1344
|
/***/ }),
|
|
1849
1345
|
|
|
1850
1346
|
/***/ "./lib-esm/common/SQLiteUtils.js":
|
|
@@ -1881,15 +1377,13 @@ function _typeof(obj) {
|
|
|
1881
1377
|
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
1882
1378
|
}, _typeof(obj);
|
|
1883
1379
|
}
|
|
1884
|
-
|
|
1885
1380
|
var __read = undefined && undefined.__read || function (o, n) {
|
|
1886
1381
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
1887
1382
|
if (!m) return o;
|
|
1888
1383
|
var i = m.call(o),
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1384
|
+
r,
|
|
1385
|
+
ar = [],
|
|
1386
|
+
e;
|
|
1893
1387
|
try {
|
|
1894
1388
|
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {
|
|
1895
1389
|
ar.push(r.value);
|
|
@@ -1905,22 +1399,18 @@ var __read = undefined && undefined.__read || function (o, n) {
|
|
|
1905
1399
|
if (e) throw e.error;
|
|
1906
1400
|
}
|
|
1907
1401
|
}
|
|
1908
|
-
|
|
1909
1402
|
return ar;
|
|
1910
1403
|
};
|
|
1911
|
-
|
|
1912
1404
|
var __spread = undefined && undefined.__spread || function () {
|
|
1913
1405
|
for (var ar = [], i = 0; i < arguments.length; i++) {
|
|
1914
1406
|
ar = ar.concat(__read(arguments[i]));
|
|
1915
1407
|
}
|
|
1916
|
-
|
|
1917
1408
|
return ar;
|
|
1918
1409
|
};
|
|
1919
|
-
|
|
1920
1410
|
var __values = undefined && undefined.__values || function (o) {
|
|
1921
1411
|
var s = typeof Symbol === "function" && Symbol.iterator,
|
|
1922
|
-
|
|
1923
|
-
|
|
1412
|
+
m = s && o[s],
|
|
1413
|
+
i = 0;
|
|
1924
1414
|
if (m) return m.call(o);
|
|
1925
1415
|
if (o && typeof o.length === "number") return {
|
|
1926
1416
|
next: function next() {
|
|
@@ -1934,17 +1424,14 @@ var __values = undefined && undefined.__values || function (o) {
|
|
|
1934
1424
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
1935
1425
|
};
|
|
1936
1426
|
|
|
1937
|
-
|
|
1938
1427
|
var USER = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["utils"].USER,
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1428
|
+
isNonModelConstructor = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["utils"].isNonModelConstructor,
|
|
1429
|
+
isModelConstructor = _aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["utils"].isModelConstructor;
|
|
1942
1430
|
var keysFromModel = function keysFromModel(model) {
|
|
1943
1431
|
return Object.keys(model).map(function (k) {
|
|
1944
1432
|
return "\"" + k + "\"";
|
|
1945
1433
|
}).join(', ');
|
|
1946
1434
|
};
|
|
1947
|
-
|
|
1948
1435
|
var valuesFromModel = function valuesFromModel(model) {
|
|
1949
1436
|
var values = Object.values(model).map(prepareValueForDML);
|
|
1950
1437
|
var paramaterized = values.map(function () {
|
|
@@ -1952,49 +1439,39 @@ var valuesFromModel = function valuesFromModel(model) {
|
|
|
1952
1439
|
}).join(', ');
|
|
1953
1440
|
return [paramaterized, values];
|
|
1954
1441
|
};
|
|
1955
|
-
|
|
1956
1442
|
var updateSet = function updateSet(model) {
|
|
1957
1443
|
var values = [];
|
|
1958
1444
|
var paramaterized = Object.entries(model).filter(function (_a) {
|
|
1959
1445
|
var _b = __read(_a, 1),
|
|
1960
|
-
|
|
1961
|
-
|
|
1446
|
+
k = _b[0];
|
|
1962
1447
|
return k !== 'id';
|
|
1963
1448
|
}).map(function (_a) {
|
|
1964
1449
|
var _b = __read(_a, 2),
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1450
|
+
k = _b[0],
|
|
1451
|
+
v = _b[1];
|
|
1968
1452
|
values.push(prepareValueForDML(v));
|
|
1969
1453
|
return "\"" + k + "\"=?";
|
|
1970
1454
|
}).join(', ');
|
|
1971
1455
|
return [paramaterized, values];
|
|
1972
1456
|
};
|
|
1973
|
-
|
|
1974
1457
|
function prepareValueForDML(value) {
|
|
1975
1458
|
var scalarTypes = ['string', 'number', 'boolean'];
|
|
1976
1459
|
var isScalarType = value === null || value === undefined || scalarTypes.includes(_typeof(value));
|
|
1977
|
-
|
|
1978
1460
|
if (isScalarType) {
|
|
1979
1461
|
return value;
|
|
1980
1462
|
}
|
|
1981
|
-
|
|
1982
1463
|
var isObjectType = _typeof(value) === 'object' && (Object.getPrototypeOf(value).constructor === Object || isNonModelConstructor(Object.getPrototypeOf(value).constructor) || isModelConstructor(Object.getPrototypeOf(value).constructor));
|
|
1983
|
-
|
|
1984
1464
|
if (Array.isArray(value) || isObjectType) {
|
|
1985
1465
|
return JSON.stringify(value);
|
|
1986
1466
|
}
|
|
1987
|
-
|
|
1988
1467
|
return "" + value;
|
|
1989
1468
|
}
|
|
1990
|
-
|
|
1991
1469
|
function getSQLiteType(scalar) {
|
|
1992
1470
|
switch (scalar) {
|
|
1993
1471
|
case 'Boolean':
|
|
1994
1472
|
case 'Int':
|
|
1995
1473
|
case 'AWSTimestamp':
|
|
1996
1474
|
return 'INTEGER';
|
|
1997
|
-
|
|
1998
1475
|
case 'ID':
|
|
1999
1476
|
case 'String':
|
|
2000
1477
|
case 'AWSDate':
|
|
@@ -2006,10 +1483,8 @@ function getSQLiteType(scalar) {
|
|
|
2006
1483
|
case 'AWSPhone':
|
|
2007
1484
|
case 'AWSIPAddress':
|
|
2008
1485
|
return 'TEXT';
|
|
2009
|
-
|
|
2010
1486
|
case 'Float':
|
|
2011
1487
|
return 'REAL';
|
|
2012
|
-
|
|
2013
1488
|
default:
|
|
2014
1489
|
var _ = scalar;
|
|
2015
1490
|
throw new Error("unknown type " + scalar);
|
|
@@ -2028,13 +1503,10 @@ var implicitAuthFieldsForModel = function implicitAuthFieldsForModel(model) {
|
|
|
2028
1503
|
if (!model.attributes || !model.attributes.length) {
|
|
2029
1504
|
return [];
|
|
2030
1505
|
}
|
|
2031
|
-
|
|
2032
1506
|
var authRules = model.attributes.find(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["isModelAttributeAuth"]);
|
|
2033
|
-
|
|
2034
1507
|
if (!authRules) {
|
|
2035
1508
|
return [];
|
|
2036
1509
|
}
|
|
2037
|
-
|
|
2038
1510
|
var authFieldsForModel = authRules.properties.rules.filter(function (rule) {
|
|
2039
1511
|
return rule.ownerField || rule.groupsField;
|
|
2040
1512
|
}).map(function (rule) {
|
|
@@ -2050,82 +1522,67 @@ var implicitAuthFieldsForModel = function implicitAuthFieldsForModel(model) {
|
|
|
2050
1522
|
function modelCreateTableStatement(model, userModel) {
|
|
2051
1523
|
if (userModel === void 0) {
|
|
2052
1524
|
userModel = false;
|
|
2053
|
-
}
|
|
2054
|
-
|
|
2055
|
-
|
|
1525
|
+
}
|
|
1526
|
+
// implicitly defined auth fields, e.g., `owner`, `groupsField`, etc.
|
|
2056
1527
|
var implicitAuthFields = implicitAuthFieldsForModel(model);
|
|
2057
1528
|
var fields = Object.values(model.fields).reduce(function (acc, field) {
|
|
2058
1529
|
if (Object(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["isGraphQLScalarType"])(field.type)) {
|
|
2059
1530
|
if (field.name === 'id') {
|
|
2060
1531
|
return __spread(acc, ['"id" PRIMARY KEY NOT NULL']);
|
|
2061
1532
|
}
|
|
2062
|
-
|
|
2063
1533
|
var columnParam_1 = "\"" + field.name + "\" " + getSQLiteType(field.type);
|
|
2064
|
-
|
|
2065
1534
|
if (field.isRequired) {
|
|
2066
1535
|
columnParam_1 += ' NOT NULL';
|
|
2067
1536
|
}
|
|
2068
|
-
|
|
2069
1537
|
return __spread(acc, ["" + columnParam_1]);
|
|
2070
1538
|
}
|
|
2071
|
-
|
|
2072
1539
|
if (Object(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["isModelFieldType"])(field.type)) {
|
|
2073
|
-
var columnParam_2 = "\"" + field.name + "\" TEXT";
|
|
2074
|
-
|
|
1540
|
+
var columnParam_2 = "\"" + field.name + "\" TEXT";
|
|
1541
|
+
// add targetName as well as field name for BELONGS_TO relations
|
|
2075
1542
|
if (Object(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["isTargetNameAssociation"])(field.association)) {
|
|
2076
1543
|
// check if this field has been explicitly defined in the model
|
|
2077
1544
|
var fkDefinedInModel = Object.values(model.fields).find(function (f) {
|
|
2078
1545
|
var _a;
|
|
2079
|
-
|
|
2080
1546
|
return f.name === ((_a = field === null || field === void 0 ? void 0 : field.association) === null || _a === void 0 ? void 0 : _a.targetName);
|
|
2081
|
-
});
|
|
2082
|
-
|
|
1547
|
+
});
|
|
1548
|
+
// if the FK is not explicitly defined in the model, we have to add it here
|
|
2083
1549
|
if (!fkDefinedInModel) {
|
|
2084
1550
|
var required = field.isRequired ? ' NOT NULL' : '';
|
|
2085
1551
|
columnParam_2 += ", \"" + field.association.targetName + "\" TEXT" + required;
|
|
2086
1552
|
}
|
|
2087
|
-
}
|
|
1553
|
+
}
|
|
1554
|
+
// ignore isRequired param for model fields, since they will not contain
|
|
2088
1555
|
// the related data locally
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
1556
|
return __spread(acc, ["" + columnParam_2]);
|
|
2092
|
-
}
|
|
2093
|
-
|
|
2094
|
-
|
|
1557
|
+
}
|
|
1558
|
+
// default to TEXT
|
|
2095
1559
|
var columnParam = "\"" + field.name + "\" TEXT";
|
|
2096
|
-
|
|
2097
1560
|
if (field.isRequired) {
|
|
2098
1561
|
columnParam += ' NOT NULL';
|
|
2099
1562
|
}
|
|
2100
|
-
|
|
2101
1563
|
return __spread(acc, ["" + columnParam]);
|
|
2102
1564
|
}, []);
|
|
2103
1565
|
implicitAuthFields.forEach(function (authField) {
|
|
2104
1566
|
fields.push(authField + " TEXT");
|
|
2105
1567
|
});
|
|
2106
|
-
|
|
2107
1568
|
if (userModel) {
|
|
2108
1569
|
fields = __spread(fields, ["\"_version\" INTEGER", "\"_lastChangedAt\" INTEGER", "\"_deleted\" INTEGER"]);
|
|
2109
1570
|
}
|
|
2110
|
-
|
|
2111
1571
|
var createTableStatement = "CREATE TABLE IF NOT EXISTS \"" + model.name + "\" (" + fields.join(', ') + ");";
|
|
2112
1572
|
return createTableStatement;
|
|
2113
1573
|
}
|
|
2114
1574
|
function modelInsertStatement(model, tableName) {
|
|
2115
1575
|
var keys = keysFromModel(model);
|
|
2116
|
-
|
|
2117
1576
|
var _a = __read(valuesFromModel(model), 2),
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
1577
|
+
paramaterized = _a[0],
|
|
1578
|
+
values = _a[1];
|
|
2121
1579
|
var insertStatement = "INSERT INTO \"" + tableName + "\" (" + keys + ") VALUES (" + paramaterized + ")";
|
|
2122
1580
|
return [insertStatement, values];
|
|
2123
1581
|
}
|
|
2124
1582
|
function modelUpdateStatement(model, tableName) {
|
|
2125
1583
|
var _a = __read(updateSet(model), 2),
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
1584
|
+
paramaterized = _a[0],
|
|
1585
|
+
values = _a[1];
|
|
2129
1586
|
var updateStatement = "UPDATE \"" + tableName + "\" SET " + paramaterized + " WHERE id=?";
|
|
2130
1587
|
return [updateStatement, __spread(values, [model.id])];
|
|
2131
1588
|
}
|
|
@@ -2139,7 +1596,6 @@ function queryByIdStatement(id, tableName) {
|
|
|
2139
1596
|
Numbers: eq | ne | le | lt | ge | gt | between
|
|
2140
1597
|
Lists: contains | notContains
|
|
2141
1598
|
*/
|
|
2142
|
-
|
|
2143
1599
|
var comparisonOperatorMap = {
|
|
2144
1600
|
eq: '=',
|
|
2145
1601
|
ne: '!=',
|
|
@@ -2165,7 +1621,6 @@ var logicalOperatorMap = {
|
|
|
2165
1621
|
* @param operand any
|
|
2166
1622
|
* @returns (string | null) The `WHERE` clause component or `null` if N/A.
|
|
2167
1623
|
*/
|
|
2168
|
-
|
|
2169
1624
|
function buildSpecialNullComparison(field, operator, operand) {
|
|
2170
1625
|
if (operand === null || operand === undefined) {
|
|
2171
1626
|
if (operator === 'eq') {
|
|
@@ -2173,105 +1628,81 @@ function buildSpecialNullComparison(field, operator, operand) {
|
|
|
2173
1628
|
} else if (operator === 'ne') {
|
|
2174
1629
|
return "\"" + field + "\" IS NOT NULL";
|
|
2175
1630
|
}
|
|
2176
|
-
}
|
|
2177
|
-
|
|
2178
|
-
|
|
1631
|
+
}
|
|
1632
|
+
// no special null handling required
|
|
2179
1633
|
return null;
|
|
2180
1634
|
}
|
|
2181
|
-
|
|
2182
1635
|
var whereConditionFromPredicateObject = function whereConditionFromPredicateObject(_a) {
|
|
2183
1636
|
var field = _a.field,
|
|
2184
|
-
|
|
2185
|
-
|
|
1637
|
+
operator = _a.operator,
|
|
1638
|
+
operand = _a.operand;
|
|
2186
1639
|
var specialNullClause = buildSpecialNullComparison(field, operator, operand);
|
|
2187
|
-
|
|
2188
1640
|
if (specialNullClause) {
|
|
2189
1641
|
return [specialNullClause, []];
|
|
2190
1642
|
}
|
|
2191
|
-
|
|
2192
1643
|
var comparisonOperator = comparisonOperatorMap[operator];
|
|
2193
|
-
|
|
2194
1644
|
if (comparisonOperator) {
|
|
2195
1645
|
return ["\"" + field + "\" " + comparisonOperator + " ?", [operand]];
|
|
2196
1646
|
}
|
|
2197
|
-
|
|
2198
1647
|
var logicalOperatorKey = operator;
|
|
2199
1648
|
var logicalOperator = logicalOperatorMap[logicalOperatorKey];
|
|
2200
|
-
|
|
2201
1649
|
if (logicalOperator) {
|
|
2202
1650
|
var rightExp = [];
|
|
2203
|
-
|
|
2204
1651
|
switch (logicalOperatorKey) {
|
|
2205
1652
|
case 'between':
|
|
2206
1653
|
rightExp = operand; // operand is a 2-tuple
|
|
2207
|
-
|
|
2208
1654
|
break;
|
|
2209
|
-
|
|
2210
1655
|
case 'beginsWith':
|
|
2211
1656
|
rightExp = [operand + "%"];
|
|
2212
1657
|
break;
|
|
2213
|
-
|
|
2214
1658
|
case 'contains':
|
|
2215
1659
|
case 'notContains':
|
|
2216
1660
|
rightExp = ["%" + operand + "%"];
|
|
2217
1661
|
break;
|
|
2218
|
-
|
|
2219
1662
|
default:
|
|
2220
|
-
var _ = logicalOperatorKey;
|
|
2221
|
-
|
|
1663
|
+
var _ = logicalOperatorKey;
|
|
1664
|
+
// Incorrect WHERE clause can result in data loss
|
|
2222
1665
|
throw new Error('Cannot map predicate to a valid WHERE clause');
|
|
2223
1666
|
}
|
|
2224
|
-
|
|
2225
1667
|
return ["\"" + field + "\" " + logicalOperator + " " + rightExp.map(function (_) {
|
|
2226
1668
|
return '?';
|
|
2227
1669
|
}).join(' AND '), rightExp];
|
|
2228
1670
|
}
|
|
2229
1671
|
};
|
|
2230
|
-
|
|
2231
1672
|
function whereClauseFromPredicate(predicate) {
|
|
2232
1673
|
var result = [];
|
|
2233
1674
|
var params = [];
|
|
2234
1675
|
recurse(predicate, result, params);
|
|
2235
1676
|
var whereClause = "WHERE " + result.join(' ');
|
|
2236
1677
|
return [whereClause, params];
|
|
2237
|
-
|
|
2238
1678
|
function recurse(predicate, result, params) {
|
|
2239
1679
|
var e_1, _a;
|
|
2240
|
-
|
|
2241
1680
|
if (result === void 0) {
|
|
2242
1681
|
result = [];
|
|
2243
1682
|
}
|
|
2244
|
-
|
|
2245
1683
|
if (params === void 0) {
|
|
2246
1684
|
params = [];
|
|
2247
1685
|
}
|
|
2248
|
-
|
|
2249
1686
|
if (Object(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["isPredicateGroup"])(predicate)) {
|
|
2250
1687
|
var groupType = predicate.type,
|
|
2251
|
-
|
|
1688
|
+
groupPredicates = predicate.predicates;
|
|
2252
1689
|
var filterType = '';
|
|
2253
1690
|
var isNegation = false;
|
|
2254
|
-
|
|
2255
1691
|
switch (groupType) {
|
|
2256
1692
|
case 'not':
|
|
2257
1693
|
isNegation = true;
|
|
2258
1694
|
break;
|
|
2259
|
-
|
|
2260
1695
|
case 'and':
|
|
2261
1696
|
filterType = 'AND';
|
|
2262
1697
|
break;
|
|
2263
|
-
|
|
2264
1698
|
case 'or':
|
|
2265
1699
|
filterType = 'OR';
|
|
2266
1700
|
break;
|
|
2267
|
-
|
|
2268
1701
|
default:
|
|
2269
1702
|
var _ = groupType;
|
|
2270
1703
|
throw new Error("Invalid " + groupType);
|
|
2271
1704
|
}
|
|
2272
|
-
|
|
2273
1705
|
var groupResult = [];
|
|
2274
|
-
|
|
2275
1706
|
try {
|
|
2276
1707
|
for (var groupPredicates_1 = __values(groupPredicates), groupPredicates_1_1 = groupPredicates_1.next(); !groupPredicates_1_1.done; groupPredicates_1_1 = groupPredicates_1.next()) {
|
|
2277
1708
|
var p = groupPredicates_1_1.value;
|
|
@@ -2288,13 +1719,11 @@ function whereClauseFromPredicate(predicate) {
|
|
|
2288
1719
|
if (e_1) throw e_1.error;
|
|
2289
1720
|
}
|
|
2290
1721
|
}
|
|
2291
|
-
|
|
2292
1722
|
result.push((isNegation ? 'NOT' : '') + "(" + groupResult.join(" " + filterType + " ") + ")");
|
|
2293
1723
|
} else if (Object(_aws_amplify_datastore__WEBPACK_IMPORTED_MODULE_0__["isPredicateObj"])(predicate)) {
|
|
2294
1724
|
var _b = __read(whereConditionFromPredicateObject(predicate), 2),
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
1725
|
+
condition = _b[0],
|
|
1726
|
+
conditionParams = _b[1];
|
|
2298
1727
|
result.push(condition);
|
|
2299
1728
|
params.push.apply(params, __spread(conditionParams));
|
|
2300
1729
|
}
|
|
@@ -2308,13 +1737,12 @@ function orderByClauseFromSort(sortPredicate) {
|
|
|
2308
1737
|
if (sortPredicate === void 0) {
|
|
2309
1738
|
sortPredicate = [];
|
|
2310
1739
|
}
|
|
2311
|
-
|
|
2312
1740
|
var orderByParts = sortPredicate.map(function (_a) {
|
|
2313
1741
|
var field = _a.field,
|
|
2314
|
-
|
|
1742
|
+
sortDirection = _a.sortDirection;
|
|
2315
1743
|
return "\"" + field + "\" " + sortDirectionMap[sortDirection];
|
|
2316
|
-
});
|
|
2317
|
-
|
|
1744
|
+
});
|
|
1745
|
+
// We always sort by _rowid_ last
|
|
2318
1746
|
orderByParts.push("_rowid_ " + sortDirectionMap.ASCENDING);
|
|
2319
1747
|
return "ORDER BY " + orderByParts.join(', ');
|
|
2320
1748
|
}
|
|
@@ -2322,43 +1750,34 @@ function limitClauseFromPagination(limit, page) {
|
|
|
2322
1750
|
if (page === void 0) {
|
|
2323
1751
|
page = 0;
|
|
2324
1752
|
}
|
|
2325
|
-
|
|
2326
1753
|
var params = [limit];
|
|
2327
1754
|
var clause = 'LIMIT ?';
|
|
2328
|
-
|
|
2329
1755
|
if (page) {
|
|
2330
1756
|
var offset = limit * page;
|
|
2331
1757
|
params.push(offset);
|
|
2332
1758
|
clause += ' OFFSET ?';
|
|
2333
1759
|
}
|
|
2334
|
-
|
|
2335
1760
|
return [clause, params];
|
|
2336
1761
|
}
|
|
2337
1762
|
function queryAllStatement(tableName, predicate, sort, limit, page) {
|
|
2338
1763
|
var statement = "SELECT * FROM \"" + tableName + "\"";
|
|
2339
1764
|
var params = [];
|
|
2340
|
-
|
|
2341
1765
|
if (predicate && predicate.predicates.length) {
|
|
2342
1766
|
var _a = __read(whereClauseFromPredicate(predicate), 2),
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
1767
|
+
whereClause = _a[0],
|
|
1768
|
+
whereParams = _a[1];
|
|
2346
1769
|
statement += " " + whereClause;
|
|
2347
1770
|
params.push.apply(params, __spread(whereParams));
|
|
2348
1771
|
}
|
|
2349
|
-
|
|
2350
1772
|
var orderByClause = orderByClauseFromSort(sort);
|
|
2351
1773
|
statement += " " + orderByClause;
|
|
2352
|
-
|
|
2353
1774
|
if (limit) {
|
|
2354
1775
|
var _b = __read(limitClauseFromPagination(limit, page), 2),
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
1776
|
+
limitClause = _b[0],
|
|
1777
|
+
limitParams = _b[1];
|
|
2358
1778
|
statement += " " + limitClause;
|
|
2359
1779
|
params.push.apply(params, __spread(limitParams));
|
|
2360
1780
|
}
|
|
2361
|
-
|
|
2362
1781
|
return [statement, params];
|
|
2363
1782
|
}
|
|
2364
1783
|
function queryOneStatement(firstOrLast, tableName) {
|
|
@@ -2378,16 +1797,13 @@ function deleteByIdStatement(id, tableName) {
|
|
|
2378
1797
|
function deleteByPredicateStatement(tableName, predicate) {
|
|
2379
1798
|
var statement = "DELETE FROM \"" + tableName + "\"";
|
|
2380
1799
|
var params = [];
|
|
2381
|
-
|
|
2382
1800
|
if (predicate && predicate.predicates.length) {
|
|
2383
1801
|
var _a = __read(whereClauseFromPredicate(predicate), 2),
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
1802
|
+
whereClause = _a[0],
|
|
1803
|
+
whereParams = _a[1];
|
|
2387
1804
|
statement += " " + whereClause;
|
|
2388
1805
|
params.push.apply(params, __spread(whereParams));
|
|
2389
1806
|
}
|
|
2390
|
-
|
|
2391
1807
|
return [statement, params];
|
|
2392
1808
|
}
|
|
2393
1809
|
|