@proteinjs/db 1.55.0 → 1.56.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 +22 -0
- package/dist/generated/index.js +1 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/test/index.d.ts.map +1 -1
- package/dist/generated/test/index.js +13 -1
- package/dist/generated/test/index.js.map +1 -1
- package/dist/src/Columns.d.ts +20 -2
- package/dist/src/Columns.d.ts.map +1 -1
- package/dist/src/Columns.js +46 -45
- 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 +28 -9
- package/dist/src/Db.js.map +1 -1
- package/dist/src/TableWatcher.d.ts +15 -6
- package/dist/src/TableWatcher.d.ts.map +1 -1
- package/dist/src/TableWatcher.js.map +1 -1
- package/dist/src/TableWatcherRunner.d.ts +14 -6
- package/dist/src/TableWatcherRunner.d.ts.map +1 -1
- package/dist/src/TableWatcherRunner.js +19 -12
- package/dist/src/TableWatcherRunner.js.map +1 -1
- package/dist/test/index.d.ts +2 -0
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +2 -0
- package/dist/test/index.js.map +1 -1
- package/dist/test/reusable/CascadeDeleteTests.d.ts.map +1 -1
- package/dist/test/reusable/CascadeDeleteTests.js +132 -0
- package/dist/test/reusable/CascadeDeleteTests.js.map +1 -1
- package/dist/test/reusable/TableWatcherAuthorityTests.d.ts +13 -0
- package/dist/test/reusable/TableWatcherAuthorityTests.d.ts.map +1 -0
- package/dist/test/reusable/TableWatcherAuthorityTests.js +392 -0
- package/dist/test/reusable/TableWatcherAuthorityTests.js.map +1 -0
- package/dist/test/util/DbTestEnvironment.d.ts.map +1 -1
- package/dist/test/util/DbTestEnvironment.js +3 -2
- package/dist/test/util/DbTestEnvironment.js.map +1 -1
- package/dist/test/util/tables/cascadeDeleteTestTables.d.ts +38 -0
- package/dist/test/util/tables/cascadeDeleteTestTables.d.ts.map +1 -1
- package/dist/test/util/tables/cascadeDeleteTestTables.js +119 -1
- package/dist/test/util/tables/cascadeDeleteTestTables.js.map +1 -1
- package/dist/test/util/tables/tableWatcherAuthorityTestTables.d.ts +35 -0
- package/dist/test/util/tables/tableWatcherAuthorityTestTables.d.ts.map +1 -0
- package/dist/test/util/tables/tableWatcherAuthorityTestTables.js +113 -0
- package/dist/test/util/tables/tableWatcherAuthorityTestTables.js.map +1 -0
- package/generated/index.ts +1 -1
- package/generated/test/index.ts +13 -1
- package/package.json +2 -2
- package/src/Columns.ts +50 -27
- package/src/Db.ts +42 -15
- package/src/TableWatcher.ts +17 -6
- package/src/TableWatcherRunner.ts +25 -12
- package/test/index.ts +2 -0
- package/test/reusable/CascadeDeleteTests.ts +90 -0
- package/test/reusable/TableWatcherAuthorityTests.ts +204 -0
- package/test/util/DbTestEnvironment.ts +2 -0
- package/test/util/tables/cascadeDeleteTestTables.ts +85 -0
- package/test/util/tables/tableWatcherAuthorityTestTables.ts +61 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../generated/test/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,+BAA6B;AAC7B,6BAA2B;AAC3B,iCAA+B;AAC/B,iCAA+B;AAC/B,8BAA4B;AAC5B,gCAA8B;AAG9B,4BAA4B;AAE5B,IAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../generated/test/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Columns.d.ts
CHANGED
|
@@ -91,7 +91,14 @@ export declare class ReferenceArrayColumn<T extends Record> extends ObjectColumn
|
|
|
91
91
|
constructor(name: string, referenceTable: string, cascadeDelete: boolean, options?: ReferenceColumnOptions);
|
|
92
92
|
serialize(fieldValue: ReferenceArray<T> | null | undefined): Promise<string | null>;
|
|
93
93
|
deserialize(serializedFieldValue: string): ReferenceArray<T> | null;
|
|
94
|
-
|
|
94
|
+
/**
|
|
95
|
+
* Cascade: the referenced records go with the holder. Runs through the Db the firing write
|
|
96
|
+
* hands it — its driver, its transaction context, its authority — and off the ids the column
|
|
97
|
+
* stores; nothing here opens a Db of its own or re-reads the referenced rows, either of which
|
|
98
|
+
* would run as the session's user rather than as the write (a system delete's cascade must stay
|
|
99
|
+
* system: in a background context there is no session user at all).
|
|
100
|
+
*/
|
|
101
|
+
beforeDelete(table: Table<any>, columnPropertyName: string, records: any[], getTable?: (tableName: string) => Table<any>, db?: Db): Promise<void>;
|
|
95
102
|
}
|
|
96
103
|
export declare class ReferenceColumn<T extends Record> extends StringColumn<Reference<T>> {
|
|
97
104
|
referenceTable: string;
|
|
@@ -112,7 +119,12 @@ export declare class ReferenceColumn<T extends Record> extends StringColumn<Refe
|
|
|
112
119
|
});
|
|
113
120
|
serialize(fieldValue: Reference<T> | null | undefined): Promise<string | null>;
|
|
114
121
|
deserialize(serializedFieldValue: string): Reference<T> | null;
|
|
115
|
-
|
|
122
|
+
/**
|
|
123
|
+
* Cascade: the referenced record goes with the holder. Runs through the Db the firing write
|
|
124
|
+
* hands it (its driver, transaction context and authority) off the stored id — see
|
|
125
|
+
* `ReferenceArrayColumn.beforeDelete` for why the hook never opens a Db of its own.
|
|
126
|
+
*/
|
|
127
|
+
beforeDelete(table: Table<any>, columnPropertyName: string, records: any[], getTable?: (tableName: string) => Table<any>, db?: Db): Promise<void>;
|
|
116
128
|
}
|
|
117
129
|
/** Column type for storing table names that links to a DynamicReferenceColumn */
|
|
118
130
|
export declare class DynamicReferenceTableNameColumn extends StringColumn<string> {
|
|
@@ -146,6 +158,12 @@ export declare class DynamicReferenceColumn<T extends Record> extends StringColu
|
|
|
146
158
|
});
|
|
147
159
|
serialize(fieldValue: Reference<T> | null | undefined): Promise<string | null>;
|
|
148
160
|
deserialize(serializedFieldValue: string, serializedRecord: any): Reference<T> | null;
|
|
161
|
+
/**
|
|
162
|
+
* Cascade: the referenced record goes with the holder, whichever table the row names. Runs
|
|
163
|
+
* through the Db the firing write hands it (its driver, transaction context and authority) off
|
|
164
|
+
* the stored ids — see `ReferenceArrayColumn.beforeDelete` for why the hook never opens a Db of
|
|
165
|
+
* its own.
|
|
166
|
+
*/
|
|
149
167
|
beforeDelete(table: Table<any>, columnPropertyName: string, records: any[], getTable?: (tableName: string) => Table<any>, db?: Db): Promise<void>;
|
|
150
168
|
}
|
|
151
169
|
//# sourceMappingURL=Columns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Columns.d.ts","sourceRoot":"","sources":["../../src/Columns.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,aAAa,EAAyB,KAAK,
|
|
1
|
+
{"version":3,"file":"Columns.d.ts","sourceRoot":"","sources":["../../src/Columns.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Columns.js
CHANGED
|
@@ -70,7 +70,6 @@ var moment_1 = __importDefault(require("moment"));
|
|
|
70
70
|
var uuid_1 = require("uuid");
|
|
71
71
|
var Table_1 = require("./Table");
|
|
72
72
|
var ReferenceArray_1 = require("./reference/ReferenceArray");
|
|
73
|
-
var Db_1 = require("./Db");
|
|
74
73
|
var Reference_1 = require("./reference/Reference");
|
|
75
74
|
var QueryBuilderFactory_1 = require("./QueryBuilderFactory");
|
|
76
75
|
var serializer_1 = require("@proteinjs/serializer");
|
|
@@ -308,44 +307,40 @@ var ReferenceArrayColumn = /** @class */ (function (_super) {
|
|
|
308
307
|
}
|
|
309
308
|
return new ReferenceArray_1.ReferenceArray(this.referenceTable, ids);
|
|
310
309
|
};
|
|
311
|
-
|
|
310
|
+
/**
|
|
311
|
+
* Cascade: the referenced records go with the holder. Runs through the Db the firing write
|
|
312
|
+
* hands it — its driver, its transaction context, its authority — and off the ids the column
|
|
313
|
+
* stores; nothing here opens a Db of its own or re-reads the referenced rows, either of which
|
|
314
|
+
* would run as the session's user rather than as the write (a system delete's cascade must stay
|
|
315
|
+
* system: in a background context there is no session user at all).
|
|
316
|
+
*/
|
|
317
|
+
ReferenceArrayColumn.prototype.beforeDelete = function (table, columnPropertyName, records, getTable, db) {
|
|
312
318
|
return __awaiter(this, void 0, void 0, function () {
|
|
313
|
-
var recordIdsToDelete, _i, records_1, record, referenceArray,
|
|
314
|
-
return __generator(this, function (
|
|
315
|
-
switch (
|
|
319
|
+
var recordIdsToDelete, _i, records_1, record, referenceArray, referenceTable, qb;
|
|
320
|
+
return __generator(this, function (_a) {
|
|
321
|
+
switch (_a.label) {
|
|
316
322
|
case 0:
|
|
317
323
|
if (!this.cascadeDelete) {
|
|
318
324
|
return [2 /*return*/];
|
|
319
325
|
}
|
|
320
326
|
recordIdsToDelete = [];
|
|
321
|
-
_i = 0, records_1 = records;
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
return [4 /*yield*/, referenceArray.get()];
|
|
328
|
-
case 2:
|
|
329
|
-
referenceRecords = _b.sent();
|
|
330
|
-
for (_a = 0, referenceRecords_1 = referenceRecords; _a < referenceRecords_1.length; _a++) {
|
|
331
|
-
referenceRecord = referenceRecords_1[_a];
|
|
332
|
-
recordIdsToDelete.push(referenceRecord.id);
|
|
327
|
+
for (_i = 0, records_1 = records; _i < records_1.length; _i++) {
|
|
328
|
+
record = records_1[_i];
|
|
329
|
+
referenceArray = record[columnPropertyName];
|
|
330
|
+
if (referenceArray) {
|
|
331
|
+
recordIdsToDelete.push.apply(recordIdsToDelete, referenceArray._ids);
|
|
332
|
+
}
|
|
333
333
|
}
|
|
334
|
-
_b.label = 3;
|
|
335
|
-
case 3:
|
|
336
|
-
_i++;
|
|
337
|
-
return [3 /*break*/, 1];
|
|
338
|
-
case 4:
|
|
339
334
|
if (recordIdsToDelete.length < 1) {
|
|
340
335
|
return [2 /*return*/];
|
|
341
336
|
}
|
|
342
|
-
referenceTable = (
|
|
337
|
+
referenceTable = getTable(this.referenceTable);
|
|
343
338
|
qb = new QueryBuilderFactory_1.QueryBuilderFactory()
|
|
344
339
|
.getQueryBuilder(referenceTable)
|
|
345
340
|
.condition({ field: 'id', operator: 'IN', value: recordIdsToDelete });
|
|
346
|
-
return [4 /*yield*/,
|
|
347
|
-
case
|
|
348
|
-
|
|
341
|
+
return [4 /*yield*/, db.delete(referenceTable, qb)];
|
|
342
|
+
case 1:
|
|
343
|
+
_a.sent();
|
|
349
344
|
return [2 /*return*/];
|
|
350
345
|
}
|
|
351
346
|
});
|
|
@@ -381,7 +376,12 @@ var ReferenceColumn = /** @class */ (function (_super) {
|
|
|
381
376
|
}
|
|
382
377
|
return reference;
|
|
383
378
|
};
|
|
384
|
-
|
|
379
|
+
/**
|
|
380
|
+
* Cascade: the referenced record goes with the holder. Runs through the Db the firing write
|
|
381
|
+
* hands it (its driver, transaction context and authority) off the stored id — see
|
|
382
|
+
* `ReferenceArrayColumn.beforeDelete` for why the hook never opens a Db of its own.
|
|
383
|
+
*/
|
|
384
|
+
ReferenceColumn.prototype.beforeDelete = function (table, columnPropertyName, records, getTable, db) {
|
|
385
385
|
return __awaiter(this, void 0, void 0, function () {
|
|
386
386
|
var recordIdsToDelete, _i, records_2, record, reference, referenceTable, qb;
|
|
387
387
|
return __generator(this, function (_a) {
|
|
@@ -401,11 +401,11 @@ var ReferenceColumn = /** @class */ (function (_super) {
|
|
|
401
401
|
if (recordIdsToDelete.length < 1) {
|
|
402
402
|
return [2 /*return*/];
|
|
403
403
|
}
|
|
404
|
-
referenceTable = (
|
|
404
|
+
referenceTable = getTable(this.referenceTable);
|
|
405
405
|
qb = new QueryBuilderFactory_1.QueryBuilderFactory()
|
|
406
406
|
.getQueryBuilder(referenceTable)
|
|
407
407
|
.condition({ field: 'id', operator: 'IN', value: recordIdsToDelete });
|
|
408
|
-
return [4 /*yield*/,
|
|
408
|
+
return [4 /*yield*/, db.delete(referenceTable, qb)];
|
|
409
409
|
case 1:
|
|
410
410
|
_a.sent();
|
|
411
411
|
return [2 /*return*/];
|
|
@@ -554,17 +554,21 @@ var DynamicReferenceColumn = /** @class */ (function (_super) {
|
|
|
554
554
|
}
|
|
555
555
|
return new Reference_1.Reference(tableName, serializedFieldValue);
|
|
556
556
|
};
|
|
557
|
+
/**
|
|
558
|
+
* Cascade: the referenced record goes with the holder, whichever table the row names. Runs
|
|
559
|
+
* through the Db the firing write hands it (its driver, transaction context and authority) off
|
|
560
|
+
* the stored ids — see `ReferenceArrayColumn.beforeDelete` for why the hook never opens a Db of
|
|
561
|
+
* its own.
|
|
562
|
+
*/
|
|
557
563
|
DynamicReferenceColumn.prototype.beforeDelete = function (table, columnPropertyName, records, getTable, db) {
|
|
558
564
|
return __awaiter(this, void 0, void 0, function () {
|
|
559
|
-
var
|
|
560
|
-
return __generator(this, function (
|
|
561
|
-
switch (
|
|
565
|
+
var recordsToDelete, _i, records_3, record, reference, _a, _b, _c, tableName, ids, referenceTable, qb;
|
|
566
|
+
return __generator(this, function (_d) {
|
|
567
|
+
switch (_d.label) {
|
|
562
568
|
case 0:
|
|
563
569
|
if (!this.cascadeDelete) {
|
|
564
570
|
return [2 /*return*/];
|
|
565
571
|
}
|
|
566
|
-
getTableFn = getTable ? getTable : Table_1.tableByName;
|
|
567
|
-
dbInstance = db ? db : new Db_1.Db();
|
|
568
572
|
recordsToDelete = new Map();
|
|
569
573
|
for (_i = 0, records_3 = records; _i < records_3.length; _i++) {
|
|
570
574
|
record = records_3[_i];
|
|
@@ -577,22 +581,19 @@ var DynamicReferenceColumn = /** @class */ (function (_super) {
|
|
|
577
581
|
}
|
|
578
582
|
recordsToDelete.get(reference._table).push(reference._id);
|
|
579
583
|
}
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
_a = 0, entries_1 = entries;
|
|
583
|
-
_c.label = 1;
|
|
584
|
+
_a = 0, _b = Array.from(recordsToDelete.entries());
|
|
585
|
+
_d.label = 1;
|
|
584
586
|
case 1:
|
|
585
|
-
if (!(_a <
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
referenceTable = getTableFn(tableName);
|
|
587
|
+
if (!(_a < _b.length)) return [3 /*break*/, 4];
|
|
588
|
+
_c = _b[_a], tableName = _c[0], ids = _c[1];
|
|
589
|
+
referenceTable = getTable(tableName);
|
|
589
590
|
qb = new QueryBuilderFactory_1.QueryBuilderFactory()
|
|
590
591
|
.getQueryBuilder(referenceTable)
|
|
591
592
|
.condition({ field: 'id', operator: 'IN', value: ids });
|
|
592
|
-
return [4 /*yield*/,
|
|
593
|
+
return [4 /*yield*/, db.delete(referenceTable, qb)];
|
|
593
594
|
case 2:
|
|
594
|
-
|
|
595
|
-
|
|
595
|
+
_d.sent();
|
|
596
|
+
_d.label = 3;
|
|
596
597
|
case 3:
|
|
597
598
|
_a++;
|
|
598
599
|
return [3 /*break*/, 1];
|
package/dist/src/Columns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Columns.js","sourceRoot":"","sources":["../../src/Columns.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Columns.js","sourceRoot":"","sources":["../../src/Columns.ts"],"names":[],"mappings":"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"}
|
package/dist/src/Db.d.ts
CHANGED
|
@@ -170,6 +170,10 @@ export declare class Db<R extends Record = Record> implements DbService<R> {
|
|
|
170
170
|
*/
|
|
171
171
|
updatePreserving<T extends R>(table: Table<T>, record: Partial<T>, preserve: PreservedPath[]): Promise<number>;
|
|
172
172
|
delete<T extends R>(table: Table<T>, query: Query<T>): Promise<number>;
|
|
173
|
+
/**
|
|
174
|
+
* A column's `beforeDelete` hook cascades the delete through reference columns, with the
|
|
175
|
+
* authority of the write that fired it ({@link newHookDb}).
|
|
176
|
+
*/
|
|
173
177
|
private runColumnBeforeDeletes;
|
|
174
178
|
private runCascadeDeletions;
|
|
175
179
|
/**
|
|
@@ -324,6 +328,19 @@ export declare class Db<R extends Record = Record> implements DbService<R> {
|
|
|
324
328
|
* transaction.
|
|
325
329
|
*/
|
|
326
330
|
private newSystemDb;
|
|
331
|
+
/**
|
|
332
|
+
* The Db a hook is handed — a column's `beforeDelete`, a table watcher's six hooks: an instance
|
|
333
|
+
* riding THIS instance's driver, tables and transaction context AND its system mode, so the hook
|
|
334
|
+
* runs with the authority of the write that fired it. A hook that opened a Db of its own
|
|
335
|
+
* (`getDb()`, a session-scoped Db) ran as whoever the session held: a system write's follow-on
|
|
336
|
+
* narrowed to that user's rows inside a request, and refused outright in a background context
|
|
337
|
+
* (an account purge, a sweep, a deploy gate), where a scoped table finds no user to scope the
|
|
338
|
+
* query to — the cascade left orphans, the watcher left its rows (a message's topic links, a
|
|
339
|
+
* media row's file) and either swallowed or raised the "No user in scope context" error.
|
|
340
|
+
* Transaction state is instance state ({@link newSelfWrapDb}), so the hook rides the ambient
|
|
341
|
+
* transaction through the shared context and never this instance's own.
|
|
342
|
+
*/
|
|
343
|
+
private newHookDb;
|
|
327
344
|
/**
|
|
328
345
|
* A fresh instance for self-wrapping RMW verbs (`updateArrayMembership`, `updatePreserving`)
|
|
329
346
|
* in a transaction. `runTransaction` carries the open transaction as INSTANCE state, and these
|
package/dist/src/Db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"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
|
|
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
|
return [4 /*yield*/, (0, Table_1.addDefaultFieldValues)(table, recordCopy, this.runAsSystem)];
|
|
225
225
|
case 1:
|
|
226
226
|
_a.sent();
|
|
227
|
-
return [4 /*yield*/, this.tableWatcherRunner.runBeforeInsertTableWatchers(table, recordCopy)];
|
|
227
|
+
return [4 /*yield*/, this.tableWatcherRunner.runBeforeInsertTableWatchers(table, recordCopy, this.newHookDb())];
|
|
228
228
|
case 2:
|
|
229
229
|
recordCopy = _a.sent();
|
|
230
230
|
return [4 /*yield*/, this.addColumnInsertHooks(table, recordCopy)];
|
|
@@ -262,7 +262,7 @@ var Db = /** @class */ (function () {
|
|
|
262
262
|
case 12: return [4 /*yield*/, this.runColumnAfterInsertHooks(table, recordCopy)];
|
|
263
263
|
case 13:
|
|
264
264
|
_a.sent();
|
|
265
|
-
return [4 /*yield*/, this.tableWatcherRunner.runAfterInsertTableWatchers(table, recordCopy)];
|
|
265
|
+
return [4 /*yield*/, this.tableWatcherRunner.runAfterInsertTableWatchers(table, recordCopy, this.newHookDb())];
|
|
266
266
|
case 14:
|
|
267
267
|
_a.sent();
|
|
268
268
|
return [2 /*return*/, recordCopy];
|
|
@@ -321,7 +321,7 @@ var Db = /** @class */ (function () {
|
|
|
321
321
|
return [4 /*yield*/, (0, Table_1.addDefaultFieldValues)(table, recordCopy, this.runAsSystem)];
|
|
322
322
|
case 4:
|
|
323
323
|
_e.sent();
|
|
324
|
-
return [4 /*yield*/, this.tableWatcherRunner.runBeforeInsertTableWatchers(table, recordCopy)];
|
|
324
|
+
return [4 /*yield*/, this.tableWatcherRunner.runBeforeInsertTableWatchers(table, recordCopy, this.newHookDb())];
|
|
325
325
|
case 5:
|
|
326
326
|
recordCopy = _e.sent();
|
|
327
327
|
return [4 /*yield*/, this.addColumnInsertHooks(table, recordCopy)];
|
|
@@ -391,7 +391,7 @@ var Db = /** @class */ (function () {
|
|
|
391
391
|
case 18: return [4 /*yield*/, this.runColumnAfterInsertHooks(table, recordCopy)];
|
|
392
392
|
case 19:
|
|
393
393
|
_e.sent();
|
|
394
|
-
return [4 /*yield*/, this.tableWatcherRunner.runAfterInsertTableWatchers(table, recordCopy)];
|
|
394
|
+
return [4 /*yield*/, this.tableWatcherRunner.runAfterInsertTableWatchers(table, recordCopy, this.newHookDb())];
|
|
395
395
|
case 20:
|
|
396
396
|
_e.sent();
|
|
397
397
|
_e.label = 21;
|
|
@@ -447,7 +447,7 @@ var Db = /** @class */ (function () {
|
|
|
447
447
|
if (!query) {
|
|
448
448
|
qb.condition({ field: 'id', operator: '=', value: recordCopy.id });
|
|
449
449
|
}
|
|
450
|
-
return [4 /*yield*/, this.tableWatcherRunner.runBeforeUpdateTableWatchers(table, recordCopy, qb)];
|
|
450
|
+
return [4 /*yield*/, this.tableWatcherRunner.runBeforeUpdateTableWatchers(table, recordCopy, qb, this.newHookDb())];
|
|
451
451
|
case 3:
|
|
452
452
|
recordCopy = _b.sent();
|
|
453
453
|
return [4 /*yield*/, this.updateTouchesEncryptedColumns(table, recordCopy)];
|
|
@@ -478,7 +478,7 @@ var Db = /** @class */ (function () {
|
|
|
478
478
|
case 10:
|
|
479
479
|
_b.sent();
|
|
480
480
|
_b.label = 11;
|
|
481
|
-
case 11: return [4 /*yield*/, this.tableWatcherRunner.runAfterUpdateTableWatchers(table, recordUpdateCount, recordCopy, qb)];
|
|
481
|
+
case 11: return [4 /*yield*/, this.tableWatcherRunner.runAfterUpdateTableWatchers(table, recordUpdateCount, recordCopy, qb, this.newHookDb())];
|
|
482
482
|
case 12:
|
|
483
483
|
_b.sent();
|
|
484
484
|
return [2 /*return*/, recordUpdateCount];
|
|
@@ -647,7 +647,7 @@ var Db = /** @class */ (function () {
|
|
|
647
647
|
return [4 /*yield*/, this.runColumnBeforeDeletes(table, recordsToDelete)];
|
|
648
648
|
case 6:
|
|
649
649
|
_a.sent();
|
|
650
|
-
return [4 /*yield*/, this.tableWatcherRunner.runBeforeDeleteTableWatchers(table, recordsToDelete, qb, deleteQb)];
|
|
650
|
+
return [4 /*yield*/, this.tableWatcherRunner.runBeforeDeleteTableWatchers(table, recordsToDelete, qb, deleteQb, this.newHookDb())];
|
|
651
651
|
case 7:
|
|
652
652
|
_a.sent();
|
|
653
653
|
return [4 /*yield*/, this.dbDriver.runDml(generateDelete, this.transactionForDriver())];
|
|
@@ -662,7 +662,7 @@ var Db = /** @class */ (function () {
|
|
|
662
662
|
return [4 /*yield*/, this.deleteEncryptionTokenRows(table, recordsToDeleteIds)];
|
|
663
663
|
case 11:
|
|
664
664
|
_a.sent();
|
|
665
|
-
return [4 /*yield*/, this.tableWatcherRunner.runAfterDeleteTableWatchers(table, recordDeleteCount, recordsToDelete, qb, deleteQb)];
|
|
665
|
+
return [4 /*yield*/, this.tableWatcherRunner.runAfterDeleteTableWatchers(table, recordDeleteCount, recordsToDelete, qb, deleteQb, this.newHookDb())];
|
|
666
666
|
case 12:
|
|
667
667
|
_a.sent();
|
|
668
668
|
return [2 /*return*/, recordDeleteCount];
|
|
@@ -670,6 +670,10 @@ var Db = /** @class */ (function () {
|
|
|
670
670
|
});
|
|
671
671
|
});
|
|
672
672
|
};
|
|
673
|
+
/**
|
|
674
|
+
* A column's `beforeDelete` hook cascades the delete through reference columns, with the
|
|
675
|
+
* authority of the write that fired it ({@link newHookDb}).
|
|
676
|
+
*/
|
|
673
677
|
Db.prototype.runColumnBeforeDeletes = function (table, recordsToDelete) {
|
|
674
678
|
return __awaiter(this, void 0, void 0, function () {
|
|
675
679
|
var _a, _b, _c, _i, columnPropertyName, column;
|
|
@@ -689,7 +693,7 @@ var Db = /** @class */ (function () {
|
|
|
689
693
|
columnPropertyName = _c;
|
|
690
694
|
column = table.columns[columnPropertyName];
|
|
691
695
|
if (!(typeof column.beforeDelete !== 'undefined')) return [3 /*break*/, 3];
|
|
692
|
-
return [4 /*yield*/, column.beforeDelete(table, columnPropertyName, recordsToDelete, this.getTable,
|
|
696
|
+
return [4 /*yield*/, column.beforeDelete(table, columnPropertyName, recordsToDelete, this.getTable, this.newHookDb())];
|
|
693
697
|
case 2:
|
|
694
698
|
_d.sent();
|
|
695
699
|
_d.label = 3;
|
|
@@ -1598,6 +1602,21 @@ var Db = /** @class */ (function () {
|
|
|
1598
1602
|
Db.prototype.newSystemDb = function () {
|
|
1599
1603
|
return new Db(this.dbDriver, this.getTable, this.transactionContextFactory, true);
|
|
1600
1604
|
};
|
|
1605
|
+
/**
|
|
1606
|
+
* The Db a hook is handed — a column's `beforeDelete`, a table watcher's six hooks: an instance
|
|
1607
|
+
* riding THIS instance's driver, tables and transaction context AND its system mode, so the hook
|
|
1608
|
+
* runs with the authority of the write that fired it. A hook that opened a Db of its own
|
|
1609
|
+
* (`getDb()`, a session-scoped Db) ran as whoever the session held: a system write's follow-on
|
|
1610
|
+
* narrowed to that user's rows inside a request, and refused outright in a background context
|
|
1611
|
+
* (an account purge, a sweep, a deploy gate), where a scoped table finds no user to scope the
|
|
1612
|
+
* query to — the cascade left orphans, the watcher left its rows (a message's topic links, a
|
|
1613
|
+
* media row's file) and either swallowed or raised the "No user in scope context" error.
|
|
1614
|
+
* Transaction state is instance state ({@link newSelfWrapDb}), so the hook rides the ambient
|
|
1615
|
+
* transaction through the shared context and never this instance's own.
|
|
1616
|
+
*/
|
|
1617
|
+
Db.prototype.newHookDb = function () {
|
|
1618
|
+
return new Db(this.dbDriver, this.getTable, this.transactionContextFactory, this.runAsSystem);
|
|
1619
|
+
};
|
|
1601
1620
|
/**
|
|
1602
1621
|
* A fresh instance for self-wrapping RMW verbs (`updateArrayMembership`, `updatePreserving`)
|
|
1603
1622
|
* in a transaction. `runTransaction` carries the open transaction as INSTANCE state, and these
|