@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
@@ -54,6 +54,24 @@ export interface Mission extends Record {
54
54
  assigneeTableName?: string | null;
55
55
  assigneeRef?: Reference<Pilot | Robot> | null;
56
56
  }
57
+ export interface GuardedMember extends Record {
58
+ name: string;
59
+ }
60
+ export interface GuardedHolderRef extends Record {
61
+ holderName: string;
62
+ memberRef?: Reference<GuardedMember> | null;
63
+ }
64
+ export interface GuardedHolderArr extends Record {
65
+ holderName: string;
66
+ memberRefs?: ReferenceArray<GuardedMember> | null;
67
+ }
68
+ export interface GuardedHolderDyn extends Record {
69
+ holderName: string;
70
+ memberDynTableName?: string | null;
71
+ memberDynRef?: Reference<GuardedMember> | null;
72
+ }
73
+ /** The guarded table's refusal of a non-system query — the words a suite asserts on. */
74
+ export declare const GUARDED_QUERY_REFUSAL = "no user in scope";
57
75
  /**
58
76
  * ---------- Table Classes ----------
59
77
  */
@@ -117,6 +135,22 @@ export declare class MissionTable extends Table<Mission> {
117
135
  name: string;
118
136
  columns: Table<Mission>['columns'];
119
137
  }
138
+ export declare class GuardedMemberTable extends Table<GuardedMember> {
139
+ name: string;
140
+ columns: Table<GuardedMember>['columns'];
141
+ }
142
+ export declare class GuardedHolderRefTable extends Table<GuardedHolderRef> {
143
+ name: string;
144
+ columns: Table<GuardedHolderRef>['columns'];
145
+ }
146
+ export declare class GuardedHolderArrTable extends Table<GuardedHolderArr> {
147
+ name: string;
148
+ columns: Table<GuardedHolderArr>['columns'];
149
+ }
150
+ export declare class GuardedHolderDynTable extends Table<GuardedHolderDyn> {
151
+ name: string;
152
+ columns: Table<GuardedHolderDyn>['columns'];
153
+ }
120
154
  export declare const cascadeDeleteTestTables: {
121
155
  MemberRef: Table<MemberRef>;
122
156
  GroupRef: Table<GroupRef>;
@@ -133,5 +167,9 @@ export declare const cascadeDeleteTestTables: {
133
167
  Pilot: Table<Pilot>;
134
168
  Robot: Table<Robot>;
135
169
  Mission: Table<Mission>;
170
+ GuardedMember: Table<GuardedMember>;
171
+ GuardedHolderRef: Table<GuardedHolderRef>;
172
+ GuardedHolderArr: Table<GuardedHolderArr>;
173
+ GuardedHolderDyn: Table<GuardedHolderDyn>;
136
174
  };
137
175
  //# sourceMappingURL=cascadeDeleteTestTables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cascadeDeleteTestTables.d.ts","sourceRoot":"","sources":["../../../../test/util/tables/cascadeDeleteTestTables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cascadeDeleteTestTables.d.ts","sourceRoot":"","sources":["../../../../test/util/tables/cascadeDeleteTestTables.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,44 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ 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;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
17
53
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.cascadeDeleteTestTables = exports.MissionTable = exports.RobotTable = exports.PilotTable = exports.TaskTable = exports.WorkerTable = exports.GroupArrRevTable = exports.MemberArrRevTable = exports.CommentTable = exports.PostTable = exports.GroupDynTable = exports.MemberDynTable = exports.GroupArrTable = exports.MemberArrTable = exports.GroupRefTable = exports.MemberRefTable = void 0;
54
+ exports.cascadeDeleteTestTables = exports.GuardedHolderDynTable = exports.GuardedHolderArrTable = exports.GuardedHolderRefTable = exports.GuardedMemberTable = exports.MissionTable = exports.RobotTable = exports.PilotTable = exports.TaskTable = exports.WorkerTable = exports.GroupArrRevTable = exports.MemberArrRevTable = exports.CommentTable = exports.PostTable = exports.GroupDynTable = exports.MemberDynTable = exports.GroupArrTable = exports.MemberArrTable = exports.GroupRefTable = exports.MemberRefTable = exports.GUARDED_QUERY_REFUSAL = void 0;
19
55
  var db_1 = require("@proteinjs/db");
20
56
  /**
21
57
  * ---------- Table Names ----------
@@ -42,6 +78,13 @@ var TASK_TABLE = 'db_test_cd_tasks';
42
78
  var PILOT_TABLE = 'db_test_cd_pilots';
43
79
  var ROBOT_TABLE = 'db_test_cd_robots';
44
80
  var MISSION_TABLE = 'db_test_cd_missions';
81
+ // Cascade under the write's authority (guarded child)
82
+ var GUARDED_MEMBER_TABLE = 'db_test_cd_guarded_members';
83
+ var GUARDED_HOLDER_REF_TABLE = 'db_test_cd_guarded_holders_ref';
84
+ var GUARDED_HOLDER_ARR_TABLE = 'db_test_cd_guarded_holders_arr';
85
+ var GUARDED_HOLDER_DYN_TABLE = 'db_test_cd_guarded_holders_dyn';
86
+ /** The guarded table's refusal of a non-system query — the words a suite asserts on. */
87
+ exports.GUARDED_QUERY_REFUSAL = 'no user in scope';
45
88
  /**
46
89
  * ---------- Table Classes ----------
47
90
  */
@@ -264,6 +307,77 @@ var MissionTable = /** @class */ (function (_super) {
264
307
  return MissionTable;
265
308
  }(db_1.Table));
266
309
  exports.MissionTable = MissionTable;
310
+ // Cascade under the write's authority: the guarded child and its three holders
311
+ var GuardedMemberTable = /** @class */ (function (_super) {
312
+ __extends(GuardedMemberTable, _super);
313
+ function GuardedMemberTable() {
314
+ var _this = _super !== null && _super.apply(this, arguments) || this;
315
+ _this.name = GUARDED_MEMBER_TABLE;
316
+ _this.columns = (0, db_1.withRecordColumns)({
317
+ name: new db_1.StringColumn('name', {
318
+ // The scoped-table contract without a dependency on it: a non-system query of this table
319
+ // would need the context's user to scope it to, and there is none — refuse it by name.
320
+ addToQuery: function (qb, runAsSystem) { return __awaiter(_this, void 0, void 0, function () {
321
+ return __generator(this, function (_a) {
322
+ if (!runAsSystem) {
323
+ throw new Error(exports.GUARDED_QUERY_REFUSAL);
324
+ }
325
+ return [2 /*return*/];
326
+ });
327
+ }); },
328
+ }),
329
+ });
330
+ return _this;
331
+ }
332
+ return GuardedMemberTable;
333
+ }(db_1.Table));
334
+ exports.GuardedMemberTable = GuardedMemberTable;
335
+ var GuardedHolderRefTable = /** @class */ (function (_super) {
336
+ __extends(GuardedHolderRefTable, _super);
337
+ function GuardedHolderRefTable() {
338
+ var _this = _super !== null && _super.apply(this, arguments) || this;
339
+ _this.name = GUARDED_HOLDER_REF_TABLE;
340
+ _this.columns = (0, db_1.withRecordColumns)({
341
+ holderName: new db_1.StringColumn('holder_name'),
342
+ memberRef: new db_1.ReferenceColumn('member_id', GUARDED_MEMBER_TABLE, true // cascade: deleting the holder deletes the referenced GuardedMember
343
+ ),
344
+ });
345
+ return _this;
346
+ }
347
+ return GuardedHolderRefTable;
348
+ }(db_1.Table));
349
+ exports.GuardedHolderRefTable = GuardedHolderRefTable;
350
+ var GuardedHolderArrTable = /** @class */ (function (_super) {
351
+ __extends(GuardedHolderArrTable, _super);
352
+ function GuardedHolderArrTable() {
353
+ var _this = _super !== null && _super.apply(this, arguments) || this;
354
+ _this.name = GUARDED_HOLDER_ARR_TABLE;
355
+ _this.columns = (0, db_1.withRecordColumns)({
356
+ holderName: new db_1.StringColumn('holder_name'),
357
+ memberRefs: new db_1.ReferenceArrayColumn('member_ids', GUARDED_MEMBER_TABLE, true // cascade: deleting the holder deletes every referenced GuardedMember
358
+ ),
359
+ });
360
+ return _this;
361
+ }
362
+ return GuardedHolderArrTable;
363
+ }(db_1.Table));
364
+ exports.GuardedHolderArrTable = GuardedHolderArrTable;
365
+ var GuardedHolderDynTable = /** @class */ (function (_super) {
366
+ __extends(GuardedHolderDynTable, _super);
367
+ function GuardedHolderDynTable() {
368
+ var _this = _super !== null && _super.apply(this, arguments) || this;
369
+ _this.name = GUARDED_HOLDER_DYN_TABLE;
370
+ _this.columns = (0, db_1.withRecordColumns)({
371
+ holderName: new db_1.StringColumn('holder_name'),
372
+ memberDynTableName: new db_1.DynamicReferenceTableNameColumn('member_dyn_table_name', 'member_dyn_ref'),
373
+ memberDynRef: new db_1.DynamicReferenceColumn('member_dyn_ref', 'member_dyn_table_name', true // cascade: deleting the holder deletes the dynamically referenced GuardedMember
374
+ ),
375
+ });
376
+ return _this;
377
+ }
378
+ return GuardedHolderDynTable;
379
+ }(db_1.Table));
380
+ exports.GuardedHolderDynTable = GuardedHolderDynTable;
267
381
  exports.cascadeDeleteTestTables = {
268
382
  MemberRef: new MemberRefTable(),
269
383
  GroupRef: new GroupRefTable(),
@@ -280,5 +394,9 @@ exports.cascadeDeleteTestTables = {
280
394
  Pilot: new PilotTable(),
281
395
  Robot: new RobotTable(),
282
396
  Mission: new MissionTable(),
397
+ GuardedMember: new GuardedMemberTable(),
398
+ GuardedHolderRef: new GuardedHolderRefTable(),
399
+ GuardedHolderArr: new GuardedHolderArrTable(),
400
+ GuardedHolderDyn: new GuardedHolderDynTable(),
283
401
  };
284
402
  //# sourceMappingURL=cascadeDeleteTestTables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cascadeDeleteTestTables.js","sourceRoot":"","sources":["../../../../test/util/tables/cascadeDeleteTestTables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cascadeDeleteTestTables.js","sourceRoot":"","sources":["../../../../test/util/tables/cascadeDeleteTestTables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { Table, Record } from '@proteinjs/db';
2
+ /** The watched table: a plain row whose writes fire the suite's journaling watcher. */
3
+ export interface WatchedNote extends Record {
4
+ title: string;
5
+ }
6
+ /** The watcher's journal: one row per hook run, writable and readable as system only. */
7
+ export interface GuardedJournal extends Record {
8
+ /** The watched row's id. */
9
+ note: string;
10
+ /** The hook that wrote the row (`beforeInsert` … `afterDelete`). */
11
+ hook: string;
12
+ /** The scoped-table contract in miniature — see {@link GuardedJournalTable}. */
13
+ principal: string;
14
+ }
15
+ /** The journal's refusal of a non-system write or query, by name. */
16
+ export declare const WATCHER_GUARDED_REFUSAL = "no user in scope (journal)";
17
+ export declare class WatchedNoteTable extends Table<WatchedNote> {
18
+ name: string;
19
+ columns: Table<WatchedNote>['columns'];
20
+ }
21
+ /**
22
+ * A scoped table's shape without a dependency on one: a non-system write needs the context's
23
+ * user to stamp the row with, a non-system query needs it to scope the query to — there is none
24
+ * in a session-less context, so both refuse by name. A system write supplies the principal itself
25
+ * and a system query is not scoped, exactly as `@proteinjs/user`'s ScopedRecord columns behave.
26
+ */
27
+ export declare class GuardedJournalTable extends Table<GuardedJournal> {
28
+ name: string;
29
+ columns: Table<GuardedJournal>['columns'];
30
+ }
31
+ export declare const tableWatcherAuthorityTestTables: {
32
+ WatchedNote: Table<WatchedNote>;
33
+ GuardedJournal: Table<GuardedJournal>;
34
+ };
35
+ //# sourceMappingURL=tableWatcherAuthorityTestTables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableWatcherAuthorityTestTables.d.ts","sourceRoot":"","sources":["../../../../test/util/tables/tableWatcherAuthorityTestTables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,EAAqB,MAAM,EAAE,MAAM,eAAe,CAAC;AAI/E,uFAAuF;AACvF,MAAM,WAAW,WAAY,SAAQ,MAAM;IACzC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,yFAAyF;AACzF,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD,qEAAqE;AACrE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AAEpE,qBAAa,gBAAiB,SAAQ,KAAK,CAAC,WAAW,CAAC;IACtD,IAAI,SAAsB;IAC1B,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAEnC;CACJ;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC;IAC5D,IAAI,SAAyB;IAC7B,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,CActC;CACJ;AAED,eAAO,MAAM,+BAA+B;;;CAG3C,CAAC"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
33
+ 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;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ Object.defineProperty(exports, "__esModule", { value: true });
54
+ exports.tableWatcherAuthorityTestTables = exports.GuardedJournalTable = exports.WatchedNoteTable = exports.WATCHER_GUARDED_REFUSAL = void 0;
55
+ var db_1 = require("@proteinjs/db");
56
+ var WATCHED_NOTE_TABLE = 'db_test_tw_notes';
57
+ var GUARDED_JOURNAL_TABLE = 'db_test_tw_guarded_journal';
58
+ /** The journal's refusal of a non-system write or query, by name. */
59
+ exports.WATCHER_GUARDED_REFUSAL = 'no user in scope (journal)';
60
+ var WatchedNoteTable = /** @class */ (function (_super) {
61
+ __extends(WatchedNoteTable, _super);
62
+ function WatchedNoteTable() {
63
+ var _this = _super !== null && _super.apply(this, arguments) || this;
64
+ _this.name = WATCHED_NOTE_TABLE;
65
+ _this.columns = (0, db_1.withRecordColumns)({
66
+ title: new db_1.StringColumn('title'),
67
+ });
68
+ return _this;
69
+ }
70
+ return WatchedNoteTable;
71
+ }(db_1.Table));
72
+ exports.WatchedNoteTable = WatchedNoteTable;
73
+ /**
74
+ * A scoped table's shape without a dependency on one: a non-system write needs the context's
75
+ * user to stamp the row with, a non-system query needs it to scope the query to — there is none
76
+ * in a session-less context, so both refuse by name. A system write supplies the principal itself
77
+ * and a system query is not scoped, exactly as `@proteinjs/user`'s ScopedRecord columns behave.
78
+ */
79
+ var GuardedJournalTable = /** @class */ (function (_super) {
80
+ __extends(GuardedJournalTable, _super);
81
+ function GuardedJournalTable() {
82
+ var _this = _super !== null && _super.apply(this, arguments) || this;
83
+ _this.name = GUARDED_JOURNAL_TABLE;
84
+ _this.columns = (0, db_1.withRecordColumns)({
85
+ note: new db_1.StringColumn('note'),
86
+ hook: new db_1.StringColumn('hook'),
87
+ principal: new db_1.StringColumn('principal', {
88
+ defaultValue: function () { return __awaiter(_this, void 0, void 0, function () {
89
+ return __generator(this, function (_a) {
90
+ throw new Error(exports.WATCHER_GUARDED_REFUSAL);
91
+ });
92
+ }); },
93
+ forceDefaultValue: function (runAsSystem) { return !runAsSystem; },
94
+ addToQuery: function (qb, runAsSystem) { return __awaiter(_this, void 0, void 0, function () {
95
+ return __generator(this, function (_a) {
96
+ if (!runAsSystem) {
97
+ throw new Error(exports.WATCHER_GUARDED_REFUSAL);
98
+ }
99
+ return [2 /*return*/];
100
+ });
101
+ }); },
102
+ }),
103
+ });
104
+ return _this;
105
+ }
106
+ return GuardedJournalTable;
107
+ }(db_1.Table));
108
+ exports.GuardedJournalTable = GuardedJournalTable;
109
+ exports.tableWatcherAuthorityTestTables = {
110
+ WatchedNote: new WatchedNoteTable(),
111
+ GuardedJournal: new GuardedJournalTable(),
112
+ };
113
+ //# sourceMappingURL=tableWatcherAuthorityTestTables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableWatcherAuthorityTestTables.js","sourceRoot":"","sources":["../../../../test/util/tables/tableWatcherAuthorityTestTables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAA+E;AAmB/E,IAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAC9C,IAAM,qBAAqB,GAAG,4BAA4B,CAAC;AAE3D,qEAAqE;AACxD,QAAA,uBAAuB,GAAG,4BAA4B,CAAC;AAEpE;IAAsC,oCAAkB;IAAxD;QAAA,qEAKC;QAJC,UAAI,GAAG,kBAAkB,CAAC;QAC1B,aAAO,GAAkC,IAAA,sBAAiB,EAAc;YACtE,KAAK,EAAE,IAAI,iBAAY,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;;IACL,CAAC;IAAD,uBAAC;AAAD,CAAC,AALD,CAAsC,UAAK,GAK1C;AALY,4CAAgB;AAO7B;;;;;GAKG;AACH;IAAyC,uCAAqB;IAA9D;QAAA,qEAiBC;QAhBC,UAAI,GAAG,qBAAqB,CAAC;QAC7B,aAAO,GAAqC,IAAA,sBAAiB,EAAiB;YAC5E,IAAI,EAAE,IAAI,iBAAY,CAAC,MAAM,CAAC;YAC9B,IAAI,EAAE,IAAI,iBAAY,CAAC,MAAM,CAAC;YAC9B,SAAS,EAAE,IAAI,iBAAY,CAAC,WAAW,EAAE;gBACvC,YAAY,EAAE;;wBACZ,MAAM,IAAI,KAAK,CAAC,+BAAuB,CAAC,CAAC;;qBAC1C;gBACD,iBAAiB,EAAE,UAAC,WAAW,IAAK,OAAA,CAAC,WAAW,EAAZ,CAAY;gBAChD,UAAU,EAAE,UAAO,EAAE,EAAE,WAAW;;wBAChC,IAAI,CAAC,WAAW,EAAE;4BAChB,MAAM,IAAI,KAAK,CAAC,+BAAuB,CAAC,CAAC;yBAC1C;;;qBACF;aACF,CAAC;SACH,CAAC,CAAC;;IACL,CAAC;IAAD,0BAAC;AAAD,CAAC,AAjBD,CAAyC,UAAK,GAiB7C;AAjBY,kDAAmB;AAmBnB,QAAA,+BAA+B,GAAG;IAC7C,WAAW,EAAE,IAAI,gBAAgB,EAAwB;IACzD,cAAc,EAAE,IAAI,mBAAmB,EAA2B;CACnE,CAAC"}