@proteinjs/db 1.18.1 → 1.19.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 +11 -0
- package/dist/generated/index.js +1 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/test/index.d.ts +13 -0
- package/dist/generated/test/index.d.ts.map +1 -0
- package/dist/generated/test/index.js +91 -0
- package/dist/generated/test/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/src/Columns.d.ts +10 -3
- package/dist/src/Columns.d.ts.map +1 -1
- package/dist/src/Columns.js +3 -16
- package/dist/src/Columns.js.map +1 -1
- package/dist/src/Db.d.ts +17 -0
- package/dist/src/Db.d.ts.map +1 -1
- package/dist/src/Db.js +201 -31
- package/dist/src/Db.js.map +1 -1
- package/dist/test/reusable/CascadeDeleteTests.d.ts +194 -0
- package/dist/test/reusable/CascadeDeleteTests.d.ts.map +1 -0
- package/dist/test/reusable/CascadeDeleteTests.js +643 -0
- package/dist/test/reusable/CascadeDeleteTests.js.map +1 -0
- package/dist/test/reusable/TableManagerTests.d.ts.map +1 -1
- package/dist/test/reusable/TableManagerTests.js.map +1 -1
- package/generated/index.ts +1 -1
- package/generated/test/index.ts +84 -0
- package/index.ts +1 -0
- package/package.json +14 -10
- package/src/Columns.ts +17 -3
- package/src/Db.ts +161 -15
- package/test/reusable/CascadeDeleteTests.ts +478 -0
package/dist/src/Db.d.ts
CHANGED
|
@@ -54,6 +54,22 @@ export declare class Db<R extends Record = Record> implements DbService<R> {
|
|
|
54
54
|
delete<T extends R>(table: Table<T>, query: Query<T>): Promise<number>;
|
|
55
55
|
private runColumnBeforeDeletes;
|
|
56
56
|
private runCascadeDeletions;
|
|
57
|
+
/**
|
|
58
|
+
* Reverse cascades driven by column-level flags on reference columns only.
|
|
59
|
+
* Supports:
|
|
60
|
+
* - ReferenceColumn
|
|
61
|
+
* - DynamicReferenceColumn
|
|
62
|
+
* - ReferenceArrayColumn (stringified JSON) via LIKE-prefilter + exact check
|
|
63
|
+
*/
|
|
64
|
+
private runColumnReverseCascadeDeletions;
|
|
65
|
+
/**
|
|
66
|
+
* Reverse cascade for ReferenceArrayColumn that stores stringified JSON array of IDs.
|
|
67
|
+
* Strategy:
|
|
68
|
+
* 1) LIKE prefilter with %"<id>"% in chunks
|
|
69
|
+
* 2) Exact check in memory via deserialized ReferenceArray._ids
|
|
70
|
+
* 3) Delete by primary key in chunks
|
|
71
|
+
*/
|
|
72
|
+
private reverseDeleteReferenceArrayHolders;
|
|
57
73
|
query<T extends R>(table: Table<T>, query: Query<T>, options?: QueryOptions<T>): Promise<T[]>;
|
|
58
74
|
private _query;
|
|
59
75
|
private preloadReferences;
|
|
@@ -85,5 +101,6 @@ export declare class Db<R extends Record = Record> implements DbService<R> {
|
|
|
85
101
|
* ```
|
|
86
102
|
*/
|
|
87
103
|
runTransaction<T>(fn: () => Promise<T>): Promise<T>;
|
|
104
|
+
private chunk;
|
|
88
105
|
}
|
|
89
106
|
//# sourceMappingURL=Db.d.ts.map
|
package/dist/src/Db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAgB,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAEL,KAAK,
|
|
1
|
+
{"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Db.js
CHANGED
|
@@ -224,7 +224,7 @@ var Db = /** @class */ (function () {
|
|
|
224
224
|
};
|
|
225
225
|
Db.prototype.delete = function (table, query) {
|
|
226
226
|
return __awaiter(this, void 0, void 0, function () {
|
|
227
|
-
var
|
|
227
|
+
var qb, recordsToDelete, recordsToDeleteIds, deleteQb, generateDelete, recordDeleteCount;
|
|
228
228
|
var _this = this;
|
|
229
229
|
return __generator(this, function (_a) {
|
|
230
230
|
switch (_a.label) {
|
|
@@ -232,35 +232,6 @@ var Db = /** @class */ (function () {
|
|
|
232
232
|
if (!this.runAsSystem) {
|
|
233
233
|
this.auth.canDelete(table);
|
|
234
234
|
}
|
|
235
|
-
_query = function (table, query) { return __awaiter(_this, void 0, void 0, function () {
|
|
236
|
-
var qb, generateQuery, serializedRecords, recordSerializer, records;
|
|
237
|
-
var _this = this;
|
|
238
|
-
return __generator(this, function (_a) {
|
|
239
|
-
switch (_a.label) {
|
|
240
|
-
case 0:
|
|
241
|
-
qb = new QueryBuilderFactory_1.QueryBuilderFactory().getQueryBuilder(table, query);
|
|
242
|
-
return [4 /*yield*/, this.addColumnQueries(table, qb, 'delete')];
|
|
243
|
-
case 1:
|
|
244
|
-
_a.sent();
|
|
245
|
-
generateQuery = function (config) {
|
|
246
|
-
return qb.toSql(_this.statementConfigFactory.getStatementConfig(config));
|
|
247
|
-
};
|
|
248
|
-
return [4 /*yield*/, this.dbDriver.runQuery(generateQuery, this.currentTransaction)];
|
|
249
|
-
case 2:
|
|
250
|
-
serializedRecords = _a.sent();
|
|
251
|
-
recordSerializer = new Record_1.RecordSerializer(table);
|
|
252
|
-
return [4 /*yield*/, Promise.all(serializedRecords.map(function (serializedRecord) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
253
|
-
return [2 /*return*/, recordSerializer.deserialize(serializedRecord)];
|
|
254
|
-
}); }); }))];
|
|
255
|
-
case 3:
|
|
256
|
-
records = _a.sent();
|
|
257
|
-
return [4 /*yield*/, this.preloadReferences(records)];
|
|
258
|
-
case 4:
|
|
259
|
-
_a.sent();
|
|
260
|
-
return [2 /*return*/, records];
|
|
261
|
-
}
|
|
262
|
-
});
|
|
263
|
-
}); };
|
|
264
235
|
qb = new QueryBuilderFactory_1.QueryBuilderFactory().getQueryBuilder(table, query);
|
|
265
236
|
return [4 /*yield*/, this.addColumnQueries(table, qb, 'delete')];
|
|
266
237
|
case 1:
|
|
@@ -289,8 +260,11 @@ var Db = /** @class */ (function () {
|
|
|
289
260
|
return [4 /*yield*/, this.runCascadeDeletions(table, recordsToDelete)];
|
|
290
261
|
case 6:
|
|
291
262
|
_a.sent();
|
|
292
|
-
return [4 /*yield*/, this.
|
|
263
|
+
return [4 /*yield*/, this.runColumnReverseCascadeDeletions(table, recordsToDelete)];
|
|
293
264
|
case 7:
|
|
265
|
+
_a.sent();
|
|
266
|
+
return [4 /*yield*/, this.tableWatcherRunner.runAfterDeleteTableWatchers(table, recordDeleteCount, recordsToDelete, qb, deleteQb)];
|
|
267
|
+
case 8:
|
|
294
268
|
_a.sent();
|
|
295
269
|
return [2 /*return*/, recordDeleteCount];
|
|
296
270
|
}
|
|
@@ -378,6 +352,191 @@ var Db = /** @class */ (function () {
|
|
|
378
352
|
});
|
|
379
353
|
});
|
|
380
354
|
};
|
|
355
|
+
/**
|
|
356
|
+
* Reverse cascades driven by column-level flags on reference columns only.
|
|
357
|
+
* Supports:
|
|
358
|
+
* - ReferenceColumn
|
|
359
|
+
* - DynamicReferenceColumn
|
|
360
|
+
* - ReferenceArrayColumn (stringified JSON) via LIKE-prefilter + exact check
|
|
361
|
+
*/
|
|
362
|
+
Db.prototype.runColumnReverseCascadeDeletions = function (table, deletedRecords) {
|
|
363
|
+
var _a;
|
|
364
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
365
|
+
var deletedIds, deletedIdSet, allTables, _i, allTables_1, referencingTable, _b, _c, _d, _e, colPropName, col, dynTableProp, qb, deleteCount, ctorName, qb, deleteCount;
|
|
366
|
+
return __generator(this, function (_f) {
|
|
367
|
+
switch (_f.label) {
|
|
368
|
+
case 0:
|
|
369
|
+
deletedIds = deletedRecords.map(function (r) { return r.id; });
|
|
370
|
+
if (deletedIds.length === 0) {
|
|
371
|
+
return [2 /*return*/];
|
|
372
|
+
}
|
|
373
|
+
deletedIdSet = new Set(deletedIds);
|
|
374
|
+
allTables = (0, Table_1.getTables)();
|
|
375
|
+
_i = 0, allTables_1 = allTables;
|
|
376
|
+
_f.label = 1;
|
|
377
|
+
case 1:
|
|
378
|
+
if (!(_i < allTables_1.length)) return [3 /*break*/, 13];
|
|
379
|
+
referencingTable = allTables_1[_i];
|
|
380
|
+
_b = referencingTable.columns;
|
|
381
|
+
_c = [];
|
|
382
|
+
for (_d in _b)
|
|
383
|
+
_c.push(_d);
|
|
384
|
+
_e = 0;
|
|
385
|
+
_f.label = 2;
|
|
386
|
+
case 2:
|
|
387
|
+
if (!(_e < _c.length)) return [3 /*break*/, 12];
|
|
388
|
+
_d = _c[_e];
|
|
389
|
+
if (!(_d in _b)) return [3 /*break*/, 11];
|
|
390
|
+
colPropName = _d;
|
|
391
|
+
col = referencingTable.columns[colPropName];
|
|
392
|
+
// Only act if the column explicitly opted in
|
|
393
|
+
if (!col || col.reverseCascadeDelete !== true) {
|
|
394
|
+
return [3 /*break*/, 11];
|
|
395
|
+
}
|
|
396
|
+
if (!(typeof col.dynamicRefTableColName === 'string' && col.dynamicRefTableColName.length > 0)) return [3 /*break*/, 5];
|
|
397
|
+
dynTableProp = (0, Table_1.getColumnPropertyName)(referencingTable, col.dynamicRefTableColName);
|
|
398
|
+
if (!dynTableProp) {
|
|
399
|
+
return [3 /*break*/, 11];
|
|
400
|
+
}
|
|
401
|
+
qb = new QueryBuilderFactory_1.QueryBuilderFactory().getQueryBuilder(referencingTable);
|
|
402
|
+
return [4 /*yield*/, this.addColumnQueries(referencingTable, qb, 'read')];
|
|
403
|
+
case 3:
|
|
404
|
+
_f.sent();
|
|
405
|
+
qb.condition({ field: dynTableProp, operator: '=', value: table.name });
|
|
406
|
+
qb.condition({ field: colPropName, operator: 'IN', value: deletedIds });
|
|
407
|
+
this.logger.info({
|
|
408
|
+
message: "Executing reverse cascade (dynamic) for table: ".concat(table.name),
|
|
409
|
+
obj: { referencingTable: referencingTable.name, columnPropertyName: colPropName, deletedIds: deletedIds },
|
|
410
|
+
});
|
|
411
|
+
return [4 /*yield*/, this.delete(referencingTable, qb)];
|
|
412
|
+
case 4:
|
|
413
|
+
deleteCount = _f.sent();
|
|
414
|
+
this.logger.info({
|
|
415
|
+
message: "Reverse cascade (dynamic) deleted ".concat(deleteCount, " record").concat(deleteCount == 1 ? '' : 's'),
|
|
416
|
+
});
|
|
417
|
+
return [3 /*break*/, 11];
|
|
418
|
+
case 5:
|
|
419
|
+
// ReferenceColumn/ReferenceArrayColumn must match the target table
|
|
420
|
+
if (col.referenceTable !== table.name) {
|
|
421
|
+
return [3 /*break*/, 11];
|
|
422
|
+
}
|
|
423
|
+
ctorName = (_a = col.constructor) === null || _a === void 0 ? void 0 : _a.name;
|
|
424
|
+
if (!(ctorName === 'ReferenceColumn')) return [3 /*break*/, 8];
|
|
425
|
+
qb = new QueryBuilderFactory_1.QueryBuilderFactory().getQueryBuilder(referencingTable);
|
|
426
|
+
return [4 /*yield*/, this.addColumnQueries(referencingTable, qb, 'read')];
|
|
427
|
+
case 6:
|
|
428
|
+
_f.sent();
|
|
429
|
+
qb.condition({ field: colPropName, operator: 'IN', value: deletedIds });
|
|
430
|
+
this.logger.info({
|
|
431
|
+
message: "Executing reverse cascade (ReferenceColumn) for table: ".concat(table.name),
|
|
432
|
+
obj: { referencingTable: referencingTable.name, columnPropertyName: colPropName, deletedIds: deletedIds },
|
|
433
|
+
});
|
|
434
|
+
return [4 /*yield*/, this.delete(referencingTable, qb)];
|
|
435
|
+
case 7:
|
|
436
|
+
deleteCount = _f.sent();
|
|
437
|
+
this.logger.info({
|
|
438
|
+
message: "Reverse cascade (ReferenceColumn) deleted ".concat(deleteCount, " record").concat(deleteCount == 1 ? '' : 's'),
|
|
439
|
+
});
|
|
440
|
+
return [3 /*break*/, 11];
|
|
441
|
+
case 8:
|
|
442
|
+
if (!(ctorName === 'ReferenceArrayColumn')) return [3 /*break*/, 10];
|
|
443
|
+
return [4 /*yield*/, this.reverseDeleteReferenceArrayHolders(referencingTable, colPropName, deletedIds, deletedIdSet)];
|
|
444
|
+
case 9:
|
|
445
|
+
_f.sent();
|
|
446
|
+
return [3 /*break*/, 11];
|
|
447
|
+
case 10: return [3 /*break*/, 11];
|
|
448
|
+
case 11:
|
|
449
|
+
_e++;
|
|
450
|
+
return [3 /*break*/, 2];
|
|
451
|
+
case 12:
|
|
452
|
+
_i++;
|
|
453
|
+
return [3 /*break*/, 1];
|
|
454
|
+
case 13: return [2 /*return*/];
|
|
455
|
+
}
|
|
456
|
+
});
|
|
457
|
+
});
|
|
458
|
+
};
|
|
459
|
+
/**
|
|
460
|
+
* Reverse cascade for ReferenceArrayColumn that stores stringified JSON array of IDs.
|
|
461
|
+
* Strategy:
|
|
462
|
+
* 1) LIKE prefilter with %"<id>"% in chunks
|
|
463
|
+
* 2) Exact check in memory via deserialized ReferenceArray._ids
|
|
464
|
+
* 3) Delete by primary key in chunks
|
|
465
|
+
*/
|
|
466
|
+
Db.prototype.reverseDeleteReferenceArrayHolders = function (referencingTable, columnPropertyName, deletedIds, deletedIdSet) {
|
|
467
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
468
|
+
var likeChunkSize, deleteChunkSize, _i, _a, idsChunk, qb, likeConds, candidates, holderIdsToDelete, _b, candidates_1, rec, refArr, ids, uniqueIds, _c, _d, delChunk, delQb, deleteCount;
|
|
469
|
+
return __generator(this, function (_e) {
|
|
470
|
+
switch (_e.label) {
|
|
471
|
+
case 0:
|
|
472
|
+
likeChunkSize = 100;
|
|
473
|
+
deleteChunkSize = 1000;
|
|
474
|
+
this.logger.info({
|
|
475
|
+
message: "Executing reverse cascade (ReferenceArrayColumn) for table",
|
|
476
|
+
obj: { referencingTable: referencingTable.name, columnPropertyName: columnPropertyName, deletedIdsCount: deletedIds.length },
|
|
477
|
+
});
|
|
478
|
+
_i = 0, _a = this.chunk(deletedIds, likeChunkSize);
|
|
479
|
+
_e.label = 1;
|
|
480
|
+
case 1:
|
|
481
|
+
if (!(_i < _a.length)) return [3 /*break*/, 8];
|
|
482
|
+
idsChunk = _a[_i];
|
|
483
|
+
qb = new QueryBuilderFactory_1.QueryBuilderFactory().getQueryBuilder(referencingTable);
|
|
484
|
+
return [4 /*yield*/, this.addColumnQueries(referencingTable, qb, 'read')];
|
|
485
|
+
case 2:
|
|
486
|
+
_e.sent();
|
|
487
|
+
qb.select({ fields: ['id', columnPropertyName] });
|
|
488
|
+
qb.and([{ field: columnPropertyName, operator: 'IS NOT NULL' }]);
|
|
489
|
+
likeConds = idsChunk.map(function (id) {
|
|
490
|
+
var escaped = String(id).replace(/"/g, '\\"');
|
|
491
|
+
return { field: columnPropertyName, operator: 'LIKE', value: "%\"".concat(escaped, "\"%") };
|
|
492
|
+
});
|
|
493
|
+
qb.or(likeConds);
|
|
494
|
+
return [4 /*yield*/, this._query(referencingTable, qb)];
|
|
495
|
+
case 3:
|
|
496
|
+
candidates = _e.sent();
|
|
497
|
+
holderIdsToDelete = [];
|
|
498
|
+
for (_b = 0, candidates_1 = candidates; _b < candidates_1.length; _b++) {
|
|
499
|
+
rec = candidates_1[_b];
|
|
500
|
+
refArr = rec[columnPropertyName];
|
|
501
|
+
ids = (refArr && refArr._ids ? refArr._ids : []);
|
|
502
|
+
if (!(ids === null || ids === void 0 ? void 0 : ids.length)) {
|
|
503
|
+
continue;
|
|
504
|
+
}
|
|
505
|
+
if (ids.some(function (x) { return deletedIdSet.has(x); })) {
|
|
506
|
+
holderIdsToDelete.push(rec.id);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
if (holderIdsToDelete.length === 0) {
|
|
510
|
+
return [3 /*break*/, 7];
|
|
511
|
+
}
|
|
512
|
+
uniqueIds = Array.from(new Set(holderIdsToDelete));
|
|
513
|
+
_c = 0, _d = this.chunk(uniqueIds, deleteChunkSize);
|
|
514
|
+
_e.label = 4;
|
|
515
|
+
case 4:
|
|
516
|
+
if (!(_c < _d.length)) return [3 /*break*/, 7];
|
|
517
|
+
delChunk = _d[_c];
|
|
518
|
+
delQb = new QueryBuilderFactory_1.QueryBuilderFactory()
|
|
519
|
+
.getQueryBuilder(referencingTable)
|
|
520
|
+
.condition({ field: 'id', operator: 'IN', value: delChunk });
|
|
521
|
+
return [4 /*yield*/, this.delete(referencingTable, delQb)];
|
|
522
|
+
case 5:
|
|
523
|
+
deleteCount = _e.sent();
|
|
524
|
+
this.logger.info({
|
|
525
|
+
message: "Reverse cascade (ReferenceArrayColumn) deleted ".concat(deleteCount, " record").concat(deleteCount == 1 ? '' : 's'),
|
|
526
|
+
obj: { referencingTable: referencingTable.name, columnPropertyName: columnPropertyName, batchSize: delChunk.length },
|
|
527
|
+
});
|
|
528
|
+
_e.label = 6;
|
|
529
|
+
case 6:
|
|
530
|
+
_c++;
|
|
531
|
+
return [3 /*break*/, 4];
|
|
532
|
+
case 7:
|
|
533
|
+
_i++;
|
|
534
|
+
return [3 /*break*/, 1];
|
|
535
|
+
case 8: return [2 /*return*/];
|
|
536
|
+
}
|
|
537
|
+
});
|
|
538
|
+
});
|
|
539
|
+
};
|
|
381
540
|
Db.prototype.query = function (table, query, options) {
|
|
382
541
|
return __awaiter(this, void 0, void 0, function () {
|
|
383
542
|
var qb;
|
|
@@ -626,6 +785,17 @@ var Db = /** @class */ (function () {
|
|
|
626
785
|
});
|
|
627
786
|
});
|
|
628
787
|
};
|
|
788
|
+
// Utility: simple chunker
|
|
789
|
+
Db.prototype.chunk = function (arr, size) {
|
|
790
|
+
if (size <= 0) {
|
|
791
|
+
return [arr];
|
|
792
|
+
}
|
|
793
|
+
var out = [];
|
|
794
|
+
for (var i = 0; i < arr.length; i += size) {
|
|
795
|
+
out.push(arr.slice(i, i + size));
|
|
796
|
+
}
|
|
797
|
+
return out;
|
|
798
|
+
};
|
|
629
799
|
return Db;
|
|
630
800
|
}());
|
|
631
801
|
exports.Db = Db;
|
package/dist/src/Db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Db.js","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Db.js","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { DbDriver } from '../../src/Db';
|
|
2
|
+
import { Table } from '../../src/Table';
|
|
3
|
+
import { Record } from '../../src/Record';
|
|
4
|
+
import { Reference } from '../../src/reference/Reference';
|
|
5
|
+
import { ReferenceArray } from '../../src/reference/ReferenceArray';
|
|
6
|
+
import { DefaultTransactionContextFactory } from '../../src/transaction/TransactionContextFactory';
|
|
7
|
+
/**
|
|
8
|
+
* ---------- Test Entities ----------
|
|
9
|
+
* (Isolated per scenario so we never mount multiple cascade columns
|
|
10
|
+
* to the same target on a single table.)
|
|
11
|
+
*/
|
|
12
|
+
interface MemberRef extends Record {
|
|
13
|
+
name: string;
|
|
14
|
+
}
|
|
15
|
+
interface GroupRef extends Record {
|
|
16
|
+
groupName: string;
|
|
17
|
+
memberRef?: Reference<MemberRef> | null;
|
|
18
|
+
}
|
|
19
|
+
interface MemberArr extends Record {
|
|
20
|
+
name: string;
|
|
21
|
+
}
|
|
22
|
+
interface GroupArr extends Record {
|
|
23
|
+
groupName: string;
|
|
24
|
+
memberRefs?: ReferenceArray<MemberArr> | null;
|
|
25
|
+
}
|
|
26
|
+
interface MemberDyn extends Record {
|
|
27
|
+
name: string;
|
|
28
|
+
}
|
|
29
|
+
interface GroupDyn extends Record {
|
|
30
|
+
groupName: string;
|
|
31
|
+
memberDynTableName?: string | null;
|
|
32
|
+
memberDynRef?: Reference<MemberDyn> | null;
|
|
33
|
+
}
|
|
34
|
+
interface Post extends Record {
|
|
35
|
+
title: string;
|
|
36
|
+
}
|
|
37
|
+
interface Comment extends Record {
|
|
38
|
+
text: string;
|
|
39
|
+
postRef?: Reference<Post> | null;
|
|
40
|
+
}
|
|
41
|
+
interface MemberArrRev extends Record {
|
|
42
|
+
name: string;
|
|
43
|
+
}
|
|
44
|
+
interface GroupArrRev extends Record {
|
|
45
|
+
groupName: string;
|
|
46
|
+
memberRefs?: ReferenceArray<MemberArrRev> | null;
|
|
47
|
+
}
|
|
48
|
+
interface Worker extends Record {
|
|
49
|
+
name: string;
|
|
50
|
+
}
|
|
51
|
+
interface Task extends Record {
|
|
52
|
+
title: string;
|
|
53
|
+
assigneeTableName?: string | null;
|
|
54
|
+
assigneeRef?: Reference<Worker> | null;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* ---------- Table Classes ----------
|
|
58
|
+
*/
|
|
59
|
+
export declare class MemberRefTable extends Table<MemberRef> {
|
|
60
|
+
name: string;
|
|
61
|
+
columns: {
|
|
62
|
+
id: import("../../src/Table").Column<string, any>;
|
|
63
|
+
created: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
64
|
+
updated: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
65
|
+
} & {} & {
|
|
66
|
+
name: import("../../src/Table").Column<string, any>;
|
|
67
|
+
} & {};
|
|
68
|
+
}
|
|
69
|
+
export declare class GroupRefTable extends Table<GroupRef> {
|
|
70
|
+
name: string;
|
|
71
|
+
columns: {
|
|
72
|
+
id: import("../../src/Table").Column<string, any>;
|
|
73
|
+
created: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
74
|
+
updated: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
75
|
+
} & {} & {
|
|
76
|
+
groupName: import("../../src/Table").Column<string, any>;
|
|
77
|
+
memberRef: import("../../src/Table").Column<Reference<MemberRef> | null | undefined, any>;
|
|
78
|
+
} & {};
|
|
79
|
+
}
|
|
80
|
+
export declare class MemberArrTable extends Table<MemberArr> {
|
|
81
|
+
name: string;
|
|
82
|
+
columns: {
|
|
83
|
+
id: import("../../src/Table").Column<string, any>;
|
|
84
|
+
created: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
85
|
+
updated: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
86
|
+
} & {} & {
|
|
87
|
+
name: import("../../src/Table").Column<string, any>;
|
|
88
|
+
} & {};
|
|
89
|
+
}
|
|
90
|
+
export declare class GroupArrTable extends Table<GroupArr> {
|
|
91
|
+
name: string;
|
|
92
|
+
columns: {
|
|
93
|
+
id: import("../../src/Table").Column<string, any>;
|
|
94
|
+
created: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
95
|
+
updated: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
96
|
+
} & {} & {
|
|
97
|
+
groupName: import("../../src/Table").Column<string, any>;
|
|
98
|
+
memberRefs: import("../../src/Table").Column<ReferenceArray<MemberArr> | null | undefined, any>;
|
|
99
|
+
} & {};
|
|
100
|
+
}
|
|
101
|
+
export declare class MemberDynTable extends Table<MemberDyn> {
|
|
102
|
+
name: string;
|
|
103
|
+
columns: {
|
|
104
|
+
id: import("../../src/Table").Column<string, any>;
|
|
105
|
+
created: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
106
|
+
updated: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
107
|
+
} & {} & {
|
|
108
|
+
name: import("../../src/Table").Column<string, any>;
|
|
109
|
+
} & {};
|
|
110
|
+
}
|
|
111
|
+
export declare class GroupDynTable extends Table<GroupDyn> {
|
|
112
|
+
name: string;
|
|
113
|
+
columns: {
|
|
114
|
+
id: import("../../src/Table").Column<string, any>;
|
|
115
|
+
created: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
116
|
+
updated: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
117
|
+
} & {} & {
|
|
118
|
+
groupName: import("../../src/Table").Column<string, any>;
|
|
119
|
+
memberDynTableName: import("../../src/Table").Column<string | null | undefined, any>;
|
|
120
|
+
memberDynRef: import("../../src/Table").Column<Reference<MemberDyn> | null | undefined, any>;
|
|
121
|
+
} & {};
|
|
122
|
+
}
|
|
123
|
+
export declare class PostTable extends Table<Post> {
|
|
124
|
+
name: string;
|
|
125
|
+
columns: {
|
|
126
|
+
id: import("../../src/Table").Column<string, any>;
|
|
127
|
+
created: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
128
|
+
updated: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
129
|
+
} & {} & {
|
|
130
|
+
title: import("../../src/Table").Column<string, any>;
|
|
131
|
+
} & {};
|
|
132
|
+
}
|
|
133
|
+
export declare class CommentTable extends Table<Comment> {
|
|
134
|
+
name: string;
|
|
135
|
+
columns: {
|
|
136
|
+
id: import("../../src/Table").Column<string, any>;
|
|
137
|
+
created: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
138
|
+
updated: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
139
|
+
} & {} & {
|
|
140
|
+
text: import("../../src/Table").Column<string, any>;
|
|
141
|
+
postRef: import("../../src/Table").Column<Reference<Post> | null | undefined, any>;
|
|
142
|
+
} & {};
|
|
143
|
+
}
|
|
144
|
+
export declare class MemberArrRevTable extends Table<MemberArrRev> {
|
|
145
|
+
name: string;
|
|
146
|
+
columns: {
|
|
147
|
+
id: import("../../src/Table").Column<string, any>;
|
|
148
|
+
created: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
149
|
+
updated: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
150
|
+
} & {} & {
|
|
151
|
+
name: import("../../src/Table").Column<string, any>;
|
|
152
|
+
} & {};
|
|
153
|
+
}
|
|
154
|
+
export declare class GroupArrRevTable extends Table<GroupArrRev> {
|
|
155
|
+
name: string;
|
|
156
|
+
columns: {
|
|
157
|
+
id: import("../../src/Table").Column<string, any>;
|
|
158
|
+
created: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
159
|
+
updated: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
160
|
+
} & {} & {
|
|
161
|
+
groupName: import("../../src/Table").Column<string, any>;
|
|
162
|
+
memberRefs: import("../../src/Table").Column<ReferenceArray<MemberArrRev> | null | undefined, any>;
|
|
163
|
+
} & {};
|
|
164
|
+
}
|
|
165
|
+
export declare class WorkerTable extends Table<Worker> {
|
|
166
|
+
name: string;
|
|
167
|
+
columns: {
|
|
168
|
+
id: import("../../src/Table").Column<string, any>;
|
|
169
|
+
created: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
170
|
+
updated: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
171
|
+
} & {} & {
|
|
172
|
+
name: import("../../src/Table").Column<string, any>;
|
|
173
|
+
} & {};
|
|
174
|
+
}
|
|
175
|
+
export declare class TaskTable extends Table<Task> {
|
|
176
|
+
name: string;
|
|
177
|
+
columns: {
|
|
178
|
+
id: import("../../src/Table").Column<string, any>;
|
|
179
|
+
created: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
180
|
+
updated: import("../../src/Table").Column<import("moment").Moment, any>;
|
|
181
|
+
} & {} & {
|
|
182
|
+
title: import("../../src/Table").Column<string, any>;
|
|
183
|
+
assigneeTableName: import("../../src/Table").Column<string | null | undefined, any>;
|
|
184
|
+
assigneeRef: import("../../src/Table").Column<Reference<Worker> | null | undefined, any>;
|
|
185
|
+
} & {};
|
|
186
|
+
}
|
|
187
|
+
/** getTable resolver for Db */
|
|
188
|
+
export declare const getCascadeDeleteTestTable: (tableName: string) => MemberRefTable | GroupRefTable | MemberArrTable | GroupArrTable | MemberDynTable | GroupDynTable | PostTable | CommentTable | MemberArrRevTable | GroupArrRevTable | WorkerTable | TaskTable;
|
|
189
|
+
/**
|
|
190
|
+
* Public test suite factory.
|
|
191
|
+
*/
|
|
192
|
+
export declare const cascadeDeleteTests: (driver: DbDriver, transactionContextFactory: DefaultTransactionContextFactory, dropTable: (table: Table<any>) => Promise<void>) => () => void;
|
|
193
|
+
export {};
|
|
194
|
+
//# sourceMappingURL=CascadeDeleteTests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CascadeDeleteTests.d.ts","sourceRoot":"","sources":["../../../test/reusable/CascadeDeleteTests.ts"],"names":[],"mappings":"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"}
|