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