@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.
Files changed (56) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/generated/index.js +1 -1
  3. package/dist/generated/index.js.map +1 -1
  4. package/dist/generated/test/index.d.ts.map +1 -1
  5. package/dist/generated/test/index.js +13 -1
  6. package/dist/generated/test/index.js.map +1 -1
  7. package/dist/src/Columns.d.ts +20 -2
  8. package/dist/src/Columns.d.ts.map +1 -1
  9. package/dist/src/Columns.js +46 -45
  10. package/dist/src/Columns.js.map +1 -1
  11. package/dist/src/Db.d.ts +17 -0
  12. package/dist/src/Db.d.ts.map +1 -1
  13. package/dist/src/Db.js +28 -9
  14. package/dist/src/Db.js.map +1 -1
  15. package/dist/src/TableWatcher.d.ts +15 -6
  16. package/dist/src/TableWatcher.d.ts.map +1 -1
  17. package/dist/src/TableWatcher.js.map +1 -1
  18. package/dist/src/TableWatcherRunner.d.ts +14 -6
  19. package/dist/src/TableWatcherRunner.d.ts.map +1 -1
  20. package/dist/src/TableWatcherRunner.js +19 -12
  21. package/dist/src/TableWatcherRunner.js.map +1 -1
  22. package/dist/test/index.d.ts +2 -0
  23. package/dist/test/index.d.ts.map +1 -1
  24. package/dist/test/index.js +2 -0
  25. package/dist/test/index.js.map +1 -1
  26. package/dist/test/reusable/CascadeDeleteTests.d.ts.map +1 -1
  27. package/dist/test/reusable/CascadeDeleteTests.js +132 -0
  28. package/dist/test/reusable/CascadeDeleteTests.js.map +1 -1
  29. package/dist/test/reusable/TableWatcherAuthorityTests.d.ts +13 -0
  30. package/dist/test/reusable/TableWatcherAuthorityTests.d.ts.map +1 -0
  31. package/dist/test/reusable/TableWatcherAuthorityTests.js +392 -0
  32. package/dist/test/reusable/TableWatcherAuthorityTests.js.map +1 -0
  33. package/dist/test/util/DbTestEnvironment.d.ts.map +1 -1
  34. package/dist/test/util/DbTestEnvironment.js +3 -2
  35. package/dist/test/util/DbTestEnvironment.js.map +1 -1
  36. package/dist/test/util/tables/cascadeDeleteTestTables.d.ts +38 -0
  37. package/dist/test/util/tables/cascadeDeleteTestTables.d.ts.map +1 -1
  38. package/dist/test/util/tables/cascadeDeleteTestTables.js +119 -1
  39. package/dist/test/util/tables/cascadeDeleteTestTables.js.map +1 -1
  40. package/dist/test/util/tables/tableWatcherAuthorityTestTables.d.ts +35 -0
  41. package/dist/test/util/tables/tableWatcherAuthorityTestTables.d.ts.map +1 -0
  42. package/dist/test/util/tables/tableWatcherAuthorityTestTables.js +113 -0
  43. package/dist/test/util/tables/tableWatcherAuthorityTestTables.js.map +1 -0
  44. package/generated/index.ts +1 -1
  45. package/generated/test/index.ts +13 -1
  46. package/package.json +2 -2
  47. package/src/Columns.ts +50 -27
  48. package/src/Db.ts +42 -15
  49. package/src/TableWatcher.ts +17 -6
  50. package/src/TableWatcherRunner.ts +25 -12
  51. package/test/index.ts +2 -0
  52. package/test/reusable/CascadeDeleteTests.ts +90 -0
  53. package/test/reusable/TableWatcherAuthorityTests.ts +204 -0
  54. package/test/util/DbTestEnvironment.ts +2 -0
  55. package/test/util/tables/cascadeDeleteTestTables.ts +85 -0
  56. package/test/util/tables/tableWatcherAuthorityTestTables.ts +61 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../generated/test/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../generated/test/index.ts"],"names":[],"mappings":"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"}
@@ -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
- beforeDelete(table: Table<any>, columnPropertyName: string, records: any[]): Promise<void>;
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
- beforeDelete(table: Table<any>, columnPropertyName: string, records: any[]): Promise<void>;
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":"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"}
1
+ {"version":3,"file":"Columns.d.ts","sourceRoot":"","sources":["../../src/Columns.ts"],"names":[],"mappings":"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"}
@@ -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
- ReferenceArrayColumn.prototype.beforeDelete = function (table, columnPropertyName, records) {
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, referenceRecords, _a, referenceRecords_1, referenceRecord, referenceTable, qb;
314
- return __generator(this, function (_b) {
315
- switch (_b.label) {
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
- _b.label = 1;
323
- case 1:
324
- if (!(_i < records_1.length)) return [3 /*break*/, 4];
325
- record = records_1[_i];
326
- referenceArray = record[columnPropertyName];
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 = (0, Table_1.tableByName)(this.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*/, new Db_1.Db().delete(referenceTable, qb)];
347
- case 5:
348
- _b.sent();
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
- ReferenceColumn.prototype.beforeDelete = function (table, columnPropertyName, records) {
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 = (0, Table_1.tableByName)(this.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*/, new Db_1.Db().delete(referenceTable, qb)];
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 getTableFn, dbInstance, recordsToDelete, _i, records_3, record, reference, entries, _a, entries_1, _b, tableName, ids, referenceTable, qb;
560
- return __generator(this, function (_c) {
561
- switch (_c.label) {
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
- entries = Array.from(recordsToDelete.entries());
581
- console.log("entries to delete: ".concat(JSON.stringify(entries)));
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 < entries_1.length)) return [3 /*break*/, 4];
586
- _b = entries_1[_a], tableName = _b[0], ids = _b[1];
587
- if (!(ids.length > 0)) return [3 /*break*/, 3];
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*/, dbInstance.delete(referenceTable, qb)];
593
+ return [4 /*yield*/, db.delete(referenceTable, qb)];
593
594
  case 2:
594
- _c.sent();
595
- _c.label = 3;
595
+ _d.sent();
596
+ _d.label = 3;
596
597
  case 3:
597
598
  _a++;
598
599
  return [3 /*break*/, 1];
@@ -1 +1 @@
1
- {"version":3,"file":"Columns.js","sourceRoot":"","sources":["../../src/Columns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,6BAAoC;AACpC,iCAA2F;AAE3F,6DAA4D;AAC5D,2BAA0B;AAC1B,mDAAkD;AAClD,6DAA4D;AAC5D,oDAAmD;AAOnD;IACE,uBACS,IAAY,EACZ,OAAuB,EACvB,KAAa;QAAb,sBAAA,EAAA,aAAa;QAFb,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;QACvB,UAAK,GAAL,KAAK,CAAQ;IACnB,CAAC;IACN,oBAAC;AAAD,CAAC,AAND,IAMC;AANY,sCAAa;AAQ1B;IACE,sBACS,IAAY,EACZ,OAAuB,EACvB,SAA+B;QAA/B,0BAAA,EAAA,eAA+B;QAF/B,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;QACvB,cAAS,GAAT,SAAS,CAAsB;QAEtC;;;;;;;;;WASG;QACH,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IACH,mBAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBY,oCAAY;AAoBzB;IACE,qBACS,IAAY,EACZ,OAAuB;QADvB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;IAC7B,CAAC;IACN,kBAAC;AAAD,CAAC,AALD,IAKC;AALY,kCAAW;AAOxB;IACE,uBACS,IAAY,EACZ,OAAuB,EACvB,KAAa;QAAb,sBAAA,EAAA,aAAa;QAFb,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;QACvB,UAAK,GAAL,KAAK,CAAQ;IACnB,CAAC;IACN,oBAAC;AAAD,CAAC,AAND,IAMC;AANY,sCAAa;AAQ1B;IACE,uBACS,IAAY,EACZ,OAAuB;QADvB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;IAC7B,CAAC;IAEE,iCAAS,GAAf,UAAgB,UAAsC;;;gBACpD,IAAI,UAAU,EAAE;oBACd,sBAAO,IAAI,EAAC;iBACb;gBAED,IAAI,UAAU,KAAK,KAAK,EAAE;oBACxB,sBAAO,KAAK,EAAC;iBACd;gBAED,sBAAO,IAAI,EAAC;;;KACb;IAED,mCAAW,GAAX,UAAY,oBAAoC;QAC9C,IAAI,oBAAoB,EAAE;YACxB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,oBAAoB,KAAK,KAAK,EAAE;YAClC,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IACH,oBAAC;AAAD,CAAC,AA7BD,IA6BC;AA7BY,sCAAa;AA+B1B;IACE,oBACS,IAAY,EACZ,OAAuB;QADvB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;IAC7B,CAAC;IACN,iBAAC;AAAD,CAAC,AALD,IAKC;AALY,gCAAU;AAOvB;IAQE,wBACS,IAAY,EACZ,OAAuB;QADvB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;QAThC;;;;WAIG;QACM,2BAAsB,GAAG,IAAI,CAAC;IAKpC,CAAC;IAEE,kCAAS,GAAf,UAAgB,UAA4C;;;gBAC1D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,gBAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBACnF,sBAAO,IAAI,EAAC;iBACb;gBAED,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE;oBAC5C,sBAAO,IAAA,gBAAM,EAAC,UAAU,CAAC,CAAC,MAAM,EAAE,EAAC;iBACpC;gBAED,sBAAO,UAAU,CAAC,MAAM,EAAE,EAAC;;;KAC5B;IAED,oCAAW,GAAX,UAAY,oBAAiC;QAC3C,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,KAAK,IAAI,EAAE;YACvE,OAAO,IAAI,CAAC;SACb;QAED,OAAO,IAAA,gBAAM,EAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACH,qBAAC;AAAD,CAAC,AAhCD,IAgCC;AAhCY,wCAAc;AAkC3B;IACE,sBACS,IAAY,EACZ,OAAuB,EACvB,SAA0B;QAF1B,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAgB;QACvB,cAAS,GAAT,SAAS,CAAiB;QAEjC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAC1B;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IACH,mBAAC;AAAD,CAAC,AAfD,IAeC;AAfY,oCAAY;AAiBzB;IAAgC,8BAAY;IAC1C,oBAAY,IAAY,EAAE,OAAuB;QAAjD,YACE,kBACE,IAAI,EACJ,MAAM,CAAC,MAAM,CACX;YACE,YAAY,EAAE;gBAAY,sBAAA,IAAA,SAAM,GAAE,EAAA;qBAAA;YAClC,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,OAAO,CACR,EACD,EAAE,CACH,SACF;;IAAD,CAAC;IACH,iBAAC;AAAD,CAAC,AAhBD,CAAgC,YAAY,GAgB3C;AAhBY,gCAAU;AAkBvB;IAAoC,kCAAY;IAC9C,wBAAY,IAAY,EAAE,OAAuB;eAC/C,kBAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IACH,qBAAC;AAAD,CAAC,AAJD,CAAoC,YAAY,GAI/C;AAJY,wCAAc;AAM3B;IAAqC,gCAAe;IAClD,sBAAY,IAAY,EAAE,OAAuB;eAC/C,kBACE,IAAI,EACJ,MAAM,CAAC,MAAM,CACX;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,OAAO,CACR,EACD,KAAK,CACN;IACH,CAAC;IAEK,gCAAS,GAAf,UAAgB,UAAgC;;;gBAC9C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,EAAE;oBAClD,sBAAO,IAAI,EAAC;iBACb;gBAED,sBAAO,uBAAU,CAAC,SAAS,CAAC,UAAU,CAAC,EAAC;;;KACzC;IAED,kCAAW,GAAX,UAAY,oBAA4B;QACtC,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,IAAI,IAAI,EAAE;YACtE,OAAO,IAAI,CAAC;SACb;QAED,OAAO,uBAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IACtD,CAAC;IACH,mBAAC;AAAD,CAAC,AA/BD,CAAqC,YAAY,GA+BhD;AA/BY,oCAAY;AAiCzB;IAAoC,+BAAiB;IACnD,qBAAY,IAAY,EAAE,OAAuB;eAC/C,kBACE,IAAI,EACJ,MAAM,CAAC,MAAM,CACX;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,OAAO,CACR,CACF;IACH,CAAC;IACH,kBAAC;AAAD,CAAC,AAdD,CAAoC,YAAY,GAc/C;AAdY,kCAAW;AAgBxB;IAA4D,wCAA+B;IAWzF,8BACE,IAAY,EACL,cAAsB,EACtB,aAAsB,EAC7B,OAAgC;QAJlC,YAME,kBAAM,IAAI,EAAE,OAAO,CAAC,SAErB;QANQ,oBAAc,GAAd,cAAc,CAAQ;QACtB,mBAAa,GAAb,aAAa,CAAS;QAI7B,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAA,CAAC;;IAC9D,CAAC;IAEK,wCAAS,GAAf,UAAgB,UAAgD;;;;;;wBAC9D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,EAAE;4BAClD,sBAAO,IAAI,EAAC;yBACb;wBAEG,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;wBAEhC,yFAAyF;wBACzF,IAAI,UAAU,CAAC,QAAQ,EAAE;4BACvB,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,EAAE,EAAT,CAAS,CAAC,CAAC;yBAC5D;wBAEM,qBAAM,iBAAM,SAAS,YAAC,SAAgB,CAAC,EAAA;4BAA9C,sBAAO,SAAuC,EAAC;;;;KAChD;IAED,0CAAW,GAAX,UAAY,oBAA4B;QACtC,IAAI,GAAG,GAAG,iBAAM,WAAW,YAAC,oBAAoB,CAAoB,CAAC;QACrE,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,GAAG,GAAG,EAAE,CAAC;SACV;QAED,OAAO,IAAI,+BAAc,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAEK,2CAAY,GAAlB,UAAmB,KAAiB,EAAE,kBAA0B,EAAE,OAAc;;;;;;wBAC9E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;4BACvB,sBAAO;yBACR;wBAEK,iBAAiB,GAAa,EAAE,CAAC;8BACX,EAAP,mBAAO;;;6BAAP,CAAA,qBAAO,CAAA;wBAAjB,MAAM;wBACT,cAAc,GAAG,MAAM,CAAC,kBAAkB,CAA2B,CAAC;wBACnD,qBAAM,cAAc,CAAC,GAAG,EAAE,EAAA;;wBAA7C,gBAAgB,GAAG,SAA0B;wBACnD,WAA8C,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,EAAE;4BAArC,eAAe;4BACxB,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;yBAC5C;;;wBALkB,IAAO,CAAA;;;wBAQ5B,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;4BAChC,sBAAO;yBACR;wBAEK,cAAc,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBAClD,EAAE,GAAG,IAAI,yCAAmB,EAAE;6BACjC,eAAe,CAAC,cAAc,CAAC;6BAC/B,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;wBACxE,qBAAM,IAAI,OAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;;;;;KAC3C;IACH,2BAAC;AAAD,CAAC,AArED,CAA4D,YAAY,GAqEvE;AArEY,oDAAoB;AAuEjC;IAAuD,mCAA0B;IAW/E,yBACE,IAAY,EACL,cAAsB,EACtB,aAAsB,EAC7B,OAIC;;QARH,YAUE,kBAAM,IAAI,EAAE,OAAO,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,EAAE,CAAC,SAE/C;QAVQ,oBAAc,GAAd,cAAc,CAAQ;QACtB,mBAAa,GAAb,aAAa,CAAS;QAQ7B,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAA,CAAC;;IAC9D,CAAC;IAEK,mCAAS,GAAf,UAAgB,UAA2C;;;gBACzD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;oBACrE,sBAAO,IAAI,EAAC;iBACb;gBAED,sBAAO,UAAU,CAAC,GAAG,EAAC;;;KACvB;IAED,qCAAW,GAAX,UAAY,oBAA4B;QACtC,IAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAC3E,IAAI,SAAS,CAAC,GAAG,KAAK,IAAI,EAAE;YAC1B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,SAAyB,CAAC;IACnC,CAAC;IAEK,sCAAY,GAAlB,UAAmB,KAAiB,EAAE,kBAA0B,EAAE,OAAc;;;;;;wBAC9E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;4BACvB,sBAAO;yBACR;wBAEK,iBAAiB,GAAa,EAAE,CAAC;wBACvC,WAA4B,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;4BAAnB,MAAM;4BACT,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAsB,CAAC;4BAClE,IAAI,SAAS,IAAI,SAAS,CAAC,GAAG,EAAE;gCAC9B,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;6BACvC;yBACF;wBAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;4BAChC,sBAAO;yBACR;wBAEK,cAAc,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBAClD,EAAE,GAAG,IAAI,yCAAmB,EAAE;6BACjC,eAAe,CAAC,cAAc,CAAC;6BAC/B,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;wBACxE,qBAAM,IAAI,OAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;;;;;KAC3C;IACH,sBAAC;AAAD,CAAC,AAjED,CAAuD,YAAY,GAiElE;AAjEY,0CAAe;AAmE5B,iFAAiF;AACjF;IAAqD,mDAAoB;IACvE,yCACE,IAAY,EACL,mBAA2B,EAClC,OAAuB;QAHzB,iBA4EC;QAvEC,IAAM,eAAe,yBAChB,OAAO,KACV,YAAY,EAAE,UAAO,KAAiB,EAAE,MAAW;;;;;;4BAC3C,eAAe,GAAG,IAAA,6BAAqB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BACrD,kBAAkB,GAAG,IAAA,6BAAqB,EAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;4BAC7E,IAAI,CAAC,eAAe,EAAE;gCACpB,MAAM,IAAI,KAAK,CAAC,iBAAU,IAAI,uBAAa,KAAK,CAAC,IAAI,0CAAuC,CAAC,CAAC;6BAC/F;4BACD,IAAI,CAAC,kBAAkB,EAAE;gCACvB,MAAM,IAAI,KAAK,CAAC,iBAAU,mBAAmB,uBAAa,KAAK,CAAC,IAAI,0CAAuC,CAAC,CAAC;6BAC9G;iCAGG,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAA3B,wBAA2B;kCACtB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;4BAAG,qBAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAA;;4BAAzC,KAAA,SAAyC,CAAA;;;4BAAG,KAAA,MAAA,MAAM,CAAC,eAAe,CAAC,mCAAI,IAAI,CAAA;;gCAA1G,0BAA2G;;4BAI7F,kBAAkB,GAAK,MAAM,CAAC,kBAAkB,CAAC,OAA/B,CAAgC;4BAElE,IAAI,CAAC,kBAAkB,EAAE;gCACvB,MAAM,IAAI,KAAK,CACb,gGAAyF,mBAAmB,CAAE,CAC/G,CAAC;6BACH;4BAED,+FAA+F;4BAC/F,MAAM,CAAC,eAAe,CAAC,GAAG,kBAAkB,CAAC;kCACtC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;4BAAG,qBAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,EAAA;;4BAAzC,KAAA,SAAyC,CAAA;;;4BAAG,KAAA,kBAAkB,CAAA;;gCAA7F,0BAA8F;;;iBAC/F,EACD,WAAW,EAAE,UAAO,KAAiB,EAAE,SAAc;;;;oBAC7C,eAAe,GAAG,IAAA,6BAAqB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACrD,kBAAkB,GAAG,IAAA,6BAAqB,EAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;oBAC7E,IAAI,CAAC,eAAe,EAAE;wBACpB,MAAM,IAAI,KAAK,CAAC,iBAAU,IAAI,uBAAa,KAAK,CAAC,IAAI,0CAAuC,CAAC,CAAC;qBAC/F;oBACD,IAAI,CAAC,kBAAkB,EAAE;wBACvB,MAAM,IAAI,KAAK,CAAC,iBAAU,mBAAmB,uBAAa,KAAK,CAAC,IAAI,0CAAuC,CAAC,CAAC;qBAC9G;oBAED,oEAAoE;oBACpE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE;wBAClC,sBAAO,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,wDAAG,KAAK,EAAE,SAAS,CAAC,mCAAI,SAAS,CAAC,eAAe,CAAC,mCAAI,SAAS,EAAC;qBAC5F;oBAGe,YAAY,GAAK,SAAS,CAAC,kBAAkB,CAAC,OAAlC,CAAmC;oBAE/D,IAAI,CAAC,YAAY,EAAE;wBACjB,MAAM,IAAI,KAAK,CACb,gGAAyF,mBAAmB,CAAE,CAC/G,CAAC;qBACH;oBAED,kGAAkG;oBAClG,SAAS,CAAC,eAAe,CAAC,GAAG,YAAY,CAAC;oBAC1C,sBAAO,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,wDAAG,KAAK,EAAE,SAAS,CAAC,mCAAI,YAAY,EAAC;;iBACjE,GACF,CAAC;gBAEF,kBACE,IAAI,EACJ,MAAM,CAAC,MAAM,CACX;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,eAAe,CAChB,CACF;QAzEM,yBAAmB,GAAnB,mBAAmB,CAAQ;;IA0EpC,CAAC;IACH,sCAAC;AAAD,CAAC,AA9ED,CAAqD,YAAY,GA8EhE;AA9EY,0EAA+B;AAgF5C;;;;;;;;;;;;;;;GAeG;AAEH;IAA8D,0CAA0B;IAGtF,gCACE,IAAY,EACL,sBAA8B,EAC9B,aAA8B,EACrC,OAIC;QALM,8BAAA,EAAA,qBAA8B;;QAHvC,YAUE,kBACE,IAAI,EACJ,MAAM,CAAC,MAAM,CACX;YACE,EAAE,EAAE;gBACF,MAAM,EAAE,IAAI;aACb;SACF,EACD,OAAO,CACR,EACD,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,EAAE,CACzB,SAEF;QArBQ,4BAAsB,GAAtB,sBAAsB,CAAQ;QAC9B,mBAAa,GAAb,aAAa,CAAiB;QAmBrC,KAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAA,CAAC;;IAC9D,CAAC;IAEK,0CAAS,GAAf,UAAgB,UAA2C;;;gBACzD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;oBACrE,sBAAO,IAAI,EAAC;iBACb;gBAED,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACzD,MAAM,IAAI,KAAK,CAAC,iEAA0D,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC;iBACxF;gBAED,sBAAO,UAAU,CAAC,GAAG,EAAC;;;KACvB;IAED,4CAAW,GAAX,UAAY,oBAA4B,EAAE,gBAAqB;QAC7D,IAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;QAC1D,IAAI,SAAS,CAAC,GAAG,KAAK,IAAI,EAAE;YAC1B,OAAO,IAAI,CAAC;SACb;QAED,IAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,yCAAkC,IAAI,CAAC,sBAAsB,4BAAkB,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC;SAC7G;QAED,OAAO,IAAI,qBAAS,CAAI,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC3D,CAAC;IAEK,6CAAY,GAAlB,UACE,KAAiB,EACjB,kBAA0B,EAC1B,OAAc,EACd,QAA4C,EAC5C,EAAO;;;;;;wBAEP,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;4BACvB,sBAAO;yBACR;wBAEK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAW,CAAC;wBAC/C,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAE,EAAE,CAAC;wBAGhC,eAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;wBAEpD,WAA4B,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;4BAAnB,MAAM;4BACT,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAsB,CAAC;4BAClE,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAA,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;gCACxC,SAAS;6BACV;4BAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gCAC1C,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;6BAC3C;4BACD,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;yBAC5D;wBAGK,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;wBACtD,OAAO,CAAC,GAAG,CAAC,6BAAsB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAE,CAAC,CAAC;8BACvB,EAAP,mBAAO;;;6BAAP,CAAA,qBAAO,CAAA;wBAA3B,kBAAgB,EAAf,SAAS,QAAA,EAAE,GAAG,QAAA;6BACpB,CAAA,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA,EAAd,wBAAc;wBACV,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;wBACvC,EAAE,GAAG,IAAI,yCAAmB,EAAE;6BACjC,eAAe,CAAC,cAAc,CAAC;6BAC/B,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;wBAC1D,qBAAM,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,EAAA;;wBAA3C,SAA2C,CAAC;;;wBANjB,IAAO,CAAA;;;;;;KASvC;IACH,6BAAC;AAAD,CAAC,AAhGD,CAA8D,YAAY,GAgGzE;AAhGY,wDAAsB"}
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
@@ -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, new Db(this.dbDriver, this.getTable, this.transactionContextFactory))];
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