@proteinjs/db 1.26.0 → 1.28.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 (63) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/generated/index.js +3 -3
  3. package/dist/generated/index.js.map +1 -1
  4. package/dist/generated/test/index.js +7 -7
  5. package/dist/generated/test/index.js.map +1 -1
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +2 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/src/Db.d.ts +18 -5
  11. package/dist/src/Db.d.ts.map +1 -1
  12. package/dist/src/Db.js +43 -35
  13. package/dist/src/Db.js.map +1 -1
  14. package/dist/src/MigrationRunner.d.ts +9 -0
  15. package/dist/src/MigrationRunner.d.ts.map +1 -1
  16. package/dist/src/MigrationRunner.js +24 -10
  17. package/dist/src/MigrationRunner.js.map +1 -1
  18. package/dist/src/auth/TableAuth.d.ts +7 -1
  19. package/dist/src/auth/TableAuth.d.ts.map +1 -1
  20. package/dist/src/auth/TableAuth.js +7 -1
  21. package/dist/src/auth/TableAuth.js.map +1 -1
  22. package/dist/src/tables/MigrationTable.d.ts +7 -0
  23. package/dist/src/tables/MigrationTable.d.ts.map +1 -1
  24. package/dist/src/tables/MigrationTable.js +10 -0
  25. package/dist/src/tables/MigrationTable.js.map +1 -1
  26. package/dist/src/transaction/TransactionContextFactory.d.ts +8 -1
  27. package/dist/src/transaction/TransactionContextFactory.d.ts.map +1 -1
  28. package/dist/test/MigrationAuth.test.d.ts +2 -0
  29. package/dist/test/MigrationAuth.test.d.ts.map +1 -0
  30. package/dist/test/MigrationAuth.test.js +77 -0
  31. package/dist/test/MigrationAuth.test.js.map +1 -0
  32. package/dist/test/MigrationRunnerContainment.test.d.ts +2 -0
  33. package/dist/test/MigrationRunnerContainment.test.d.ts.map +1 -0
  34. package/dist/test/MigrationRunnerContainment.test.js +144 -0
  35. package/dist/test/MigrationRunnerContainment.test.js.map +1 -0
  36. package/dist/test/TableServiceAuth.test.js +67 -0
  37. package/dist/test/TableServiceAuth.test.js.map +1 -1
  38. package/dist/test/index.d.ts +1 -0
  39. package/dist/test/index.d.ts.map +1 -1
  40. package/dist/test/index.js +1 -0
  41. package/dist/test/index.js.map +1 -1
  42. package/dist/test/util/DbTestEnvironment.d.ts.map +1 -1
  43. package/dist/test/util/DbTestEnvironment.js +5 -0
  44. package/dist/test/util/DbTestEnvironment.js.map +1 -1
  45. package/dist/test/util/testUser.d.ts +5 -0
  46. package/dist/test/util/testUser.d.ts.map +1 -0
  47. package/dist/test/util/testUser.js +17 -0
  48. package/dist/test/util/testUser.js.map +1 -0
  49. package/generated/index.ts +3 -3
  50. package/generated/test/index.ts +7 -7
  51. package/index.ts +2 -0
  52. package/package.json +4 -4
  53. package/src/Db.ts +47 -28
  54. package/src/MigrationRunner.ts +20 -5
  55. package/src/auth/TableAuth.ts +13 -2
  56. package/src/tables/MigrationTable.ts +10 -0
  57. package/src/transaction/TransactionContextFactory.ts +8 -1
  58. package/test/MigrationAuth.test.ts +87 -0
  59. package/test/MigrationRunnerContainment.test.ts +104 -0
  60. package/test/TableServiceAuth.test.ts +90 -1
  61. package/test/index.ts +2 -0
  62. package/test/util/DbTestEnvironment.ts +5 -0
  63. package/test/util/testUser.ts +27 -0
@@ -12,9 +12,16 @@ export interface TransactionContextData {
12
12
  * `Db.runTransaction` once the driver reports the commit durable.
13
13
  */
14
14
  postCommitHooks?: PostCommitHook[];
15
+ /**
16
+ * Set by `Db.runTransaction` when the transaction completes. Work spawned inside the
17
+ * transaction body but not awaited by it still holds this store by reference (the async
18
+ * context propagates) — the flag turns any later db operation from that escaped context
19
+ * into a loud, named error instead of silently handing the driver a finished transaction.
20
+ */
21
+ ended?: boolean;
15
22
  }
16
23
  export interface DefaultTransactionContextFactory extends Loadable {
17
24
  getTransactionContext(): TransactionContextData;
18
- runInContext<T>(transaction: any, fn: () => Promise<T>): Promise<T>;
25
+ runInContext<T>(context: TransactionContextData, fn: () => Promise<T>): Promise<T>;
19
26
  }
20
27
  //# sourceMappingURL=TransactionContextFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionContextFactory.d.ts","sourceRoot":"","sources":["../../../src/transaction/TransactionContextFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AAEnE,eAAO,MAAM,mCAAmC,wCACmE,CAAC;AAEpH,kFAAkF;AAClF,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,gCAAiC,SAAQ,QAAQ;IAChE,qBAAqB,IAAI,sBAAsB,CAAC;IAChD,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACrE"}
1
+ {"version":3,"file":"TransactionContextFactory.d.ts","sourceRoot":"","sources":["../../../src/transaction/TransactionContextFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AAEnE,eAAO,MAAM,mCAAmC,wCACmE,CAAC;AAEpH,kFAAkF;AAClF,MAAM,MAAM,cAAc,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gCAAiC,SAAQ,QAAQ;IAChE,qBAAqB,IAAI,sBAAsB,CAAC;IAChD,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MigrationAuth.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MigrationAuth.test.d.ts","sourceRoot":"","sources":["../../test/MigrationAuth.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var user_auth_1 = require("@proteinjs/user-auth");
4
+ // Deep dist path on purpose: the package index doesn't export the auth gate (it is framework
5
+ // plumbing), but the test must exercise the REAL gate, not a re-implementation of its rules.
6
+ var ServiceAuth_1 = require("@proteinjs/service/dist/src/ServiceAuth");
7
+ var reflection_1 = require("@proteinjs/reflection");
8
+ var MigrationRunner_1 = require("../src/MigrationRunner");
9
+ var MigrationTable_1 = require("../src/tables/MigrationTable");
10
+ var TableAuth_1 = require("../src/auth/TableAuth");
11
+ var setUser = function (roles) {
12
+ user_auth_1.UserAuth.userRepo = {
13
+ getUser: function () { return ({ email: 'user@test.local', roles: roles }); },
14
+ };
15
+ };
16
+ var setMapping = function (mapping) {
17
+ user_auth_1.UserAuth.permissionRolesMapping = {
18
+ getRoles: function (permission) { return mapping[permission]; },
19
+ };
20
+ };
21
+ var canRunMigrations = function () {
22
+ var method = new reflection_1.Method('runMigration', undefined, true, false, false, false, 'public', []);
23
+ return ServiceAuth_1.ServiceAuth.canRunService(new MigrationRunner_1.MigrationRunner(), method, ['some-migration-id']);
24
+ };
25
+ describe('migrations ride the dev permission', function () {
26
+ beforeEach(function () {
27
+ setMapping({ dev: ['dev-crew'] });
28
+ });
29
+ afterEach(function () {
30
+ user_auth_1.UserAuth.userRepo = undefined;
31
+ user_auth_1.UserAuth.permissionRolesMapping = undefined;
32
+ });
33
+ it("a consumer-mapped dev-role holder can run migrations and use the migration table's doors", function () {
34
+ setUser(['dev-crew']);
35
+ expect(canRunMigrations()).toBe(true);
36
+ var auth = new TableAuth_1.TableAuth();
37
+ var table = new MigrationTable_1.MigrationTable();
38
+ var _loop_1 = function (api) {
39
+ expect(function () { return auth.canQuery(table, api); }).not.toThrow();
40
+ expect(function () { return auth.canUpdate(table, api); }).not.toThrow();
41
+ };
42
+ // The record-table page reads via the service api; the runner updates via the db api.
43
+ for (var _i = 0, _a = ['db', 'service']; _i < _a.length; _i++) {
44
+ var api = _a[_i];
45
+ _loop_1(api);
46
+ }
47
+ });
48
+ it('a permissionless user is denied the service and both table doors', function () {
49
+ setUser(['ops-team']);
50
+ expect(canRunMigrations()).toBe(false);
51
+ var auth = new TableAuth_1.TableAuth();
52
+ var table = new MigrationTable_1.MigrationTable();
53
+ var _loop_2 = function (api) {
54
+ expect(function () { return auth.canQuery(table, api); }).toThrow('User is not authorized to query table: migration');
55
+ expect(function () { return auth.canUpdate(table, api); }).toThrow('User is not authorized to update records in table: migration');
56
+ };
57
+ for (var _i = 0, _a = ['db', 'service']; _i < _a.length; _i++) {
58
+ var api = _a[_i];
59
+ _loop_2(api);
60
+ }
61
+ });
62
+ it('admin passes everything as break-glass', function () {
63
+ setUser(['admin']);
64
+ expect(canRunMigrations()).toBe(true);
65
+ var auth = new TableAuth_1.TableAuth();
66
+ var table = new MigrationTable_1.MigrationTable();
67
+ var _loop_3 = function (api) {
68
+ expect(function () { return auth.canQuery(table, api); }).not.toThrow();
69
+ expect(function () { return auth.canUpdate(table, api); }).not.toThrow();
70
+ };
71
+ for (var _i = 0, _a = ['db', 'service']; _i < _a.length; _i++) {
72
+ var api = _a[_i];
73
+ _loop_3(api);
74
+ }
75
+ });
76
+ });
77
+ //# sourceMappingURL=MigrationAuth.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MigrationAuth.test.js","sourceRoot":"","sources":["../../test/MigrationAuth.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MigrationRunnerContainment.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MigrationRunnerContainment.test.d.ts","sourceRoot":"","sources":["../../test/MigrationRunnerContainment.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ // EnvInfo.isDev() requires a GlobalDataStorage implementation that only exists in a running app
40
+ // (same mock the @proteinjs/service executor suite uses).
41
+ jest.mock('@proteinjs/server-api', function () { return ({
42
+ EnvInfo: { isDev: function () { return true; } },
43
+ }); });
44
+ var logger_1 = require("@proteinjs/logger");
45
+ var reflection_1 = require("@proteinjs/reflection");
46
+ var serializer_1 = require("@proteinjs/serializer");
47
+ // Deep dist path on purpose: the package index doesn't export the executor (framework plumbing),
48
+ // but the executor check below must run the REAL BUILT owner of the doNotAwait seam.
49
+ var ServiceExecutor_1 = require("@proteinjs/service/dist/src/ServiceExecutor");
50
+ var MigrationRunner_1 = require("../src/MigrationRunner");
51
+ var MigrationTable_1 = require("../src/tables/MigrationTable");
52
+ var SourceRecordRepo_1 = require("../src/source/SourceRecordRepo");
53
+ var testUser_1 = require("./util/testUser");
54
+ /**
55
+ * This harness loads no reflection graph and registers no DefaultDbDriverFactory, so the body's
56
+ * FIRST db access (`new Db()` constructing its table-watcher runner) throws this. The specific
57
+ * message is a harness accident standing in for any mid-run infrastructure failure (db.update
58
+ * rejecting); the contract under test is that the failure escapes as a rejection at all.
59
+ */
60
+ var infrastructureFailure = 'Unable to find type: @proteinjs/db/TableWatcher';
61
+ var plantMigration = function (id) {
62
+ var migration = {
63
+ id: id,
64
+ description: 'containment test migration',
65
+ run: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
66
+ return [2 /*return*/, undefined];
67
+ }); }); },
68
+ };
69
+ new SourceRecordRepo_1.SourceRecordRepo().loadSourceRecord(new MigrationTable_1.MigrationTable().name, migration);
70
+ return migration;
71
+ };
72
+ describe('MigrationRunner containment (doNotAwait dispatch)', function () {
73
+ it('throws synchronously on a bogus migration id, not through the detached promise', function () {
74
+ var runner = new MigrationRunner_1.MigrationRunner();
75
+ expect(function () { return runner.runMigration('bogus-migration-id'); }).toThrow('Unable to find migration source record for id: bogus-migration-id');
76
+ });
77
+ it('rejects the detached promise on a mid-run infrastructure failure — the caller owns it', function () { return __awaiter(void 0, void 0, void 0, function () {
78
+ var runner;
79
+ return __generator(this, function (_a) {
80
+ switch (_a.label) {
81
+ case 0:
82
+ // The runner no longer swallows infrastructure failures: the rejection escapes to whoever
83
+ // holds the promise.
84
+ plantMigration('containment-test-migration');
85
+ runner = new MigrationRunner_1.MigrationRunner();
86
+ return [4 /*yield*/, expect(runner.runMigration('containment-test-migration')).rejects.toThrow(infrastructureFailure)];
87
+ case 1:
88
+ _a.sent();
89
+ return [2 /*return*/];
90
+ }
91
+ });
92
+ }); });
93
+ it('through the real built executor, an infrastructure-failure rejection is terminally logged — not process death', function () { return __awaiter(void 0, void 0, void 0, function () {
94
+ var runner, method, _interface, executor, entries_1, errorEntry;
95
+ var _a, _b;
96
+ return __generator(this, function (_c) {
97
+ switch (_c.label) {
98
+ case 0:
99
+ // Admin identity passes the service's 'dev' permission as break-glass (MigrationAuth.test.ts
100
+ // pins the mapping itself).
101
+ (0, testUser_1.registerTestUser)();
102
+ _c.label = 1;
103
+ case 1:
104
+ _c.trys.push([1, , 5, 6]);
105
+ plantMigration('containment-test-migration-executor');
106
+ runner = new MigrationRunner_1.MigrationRunner();
107
+ method = new reflection_1.Method('runMigration', undefined, true, false, false, false, 'public', []);
108
+ _interface = new reflection_1.Interface('@proteinjs/db', 'MigrationRunnerService', [], [method]);
109
+ executor = new ServiceExecutor_1.ServiceExecutor(runner, _interface, method);
110
+ entries_1 = [];
111
+ executor.logger = new logger_1.Logger({
112
+ name: 'MigrationRunnerService.runMigration',
113
+ logWriter: { write: function (log) { return entries_1.push(log); } },
114
+ });
115
+ // The client response does not carry the failure — execute resolves immediately.
116
+ return [4 /*yield*/, expect(executor.execute(serializer_1.Serializer.serialize(['containment-test-migration-executor']))).resolves.toBeUndefined()];
117
+ case 2:
118
+ // The client response does not carry the failure — execute resolves immediately.
119
+ _c.sent();
120
+ // The detached rejection settles after the microtask queue drains; flush macrotasks so the
121
+ // executor's terminal catch has written its log entry. Were the rejection unobserved, jest
122
+ // would surface it as a failure here — and a bare node process would die.
123
+ return [4 /*yield*/, new Promise(function (resolve) { return setImmediate(resolve); })];
124
+ case 3:
125
+ // The detached rejection settles after the microtask queue drains; flush macrotasks so the
126
+ // executor's terminal catch has written its log entry. Were the rejection unobserved, jest
127
+ // would surface it as a failure here — and a bare node process would die.
128
+ _c.sent();
129
+ return [4 /*yield*/, new Promise(function (resolve) { return setImmediate(resolve); })];
130
+ case 4:
131
+ _c.sent();
132
+ errorEntry = entries_1.find(function (entry) { return entry.logLevel === 'error'; });
133
+ expect((_a = errorEntry === null || errorEntry === void 0 ? void 0 : errorEntry.error) === null || _a === void 0 ? void 0 : _a.message).toContain(infrastructureFailure);
134
+ expect((_b = errorEntry === null || errorEntry === void 0 ? void 0 : errorEntry.obj) === null || _b === void 0 ? void 0 : _b.functionName).toBe('MigrationRunnerService.runMigration');
135
+ return [3 /*break*/, 6];
136
+ case 5:
137
+ (0, testUser_1.clearTestUser)();
138
+ return [7 /*endfinally*/];
139
+ case 6: return [2 /*return*/];
140
+ }
141
+ });
142
+ }); });
143
+ });
144
+ //# sourceMappingURL=MigrationRunnerContainment.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MigrationRunnerContainment.test.js","sourceRoot":"","sources":["../../test/MigrationRunnerContainment.test.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,30 @@ var NoAuthTable = /** @class */ (function (_super) {
74
74
  }
75
75
  return NoAuthTable;
76
76
  }(Table_1.Table));
77
+ /**
78
+ * Mirrors the user table's shape: doors keyed to an abstract PERMISSION resolved through the
79
+ * consumer mapping, with a service-protected column reserved to a dedicated service.
80
+ */
81
+ var PermissionGatedTable = /** @class */ (function (_super) {
82
+ __extends(PermissionGatedTable, _super);
83
+ function PermissionGatedTable() {
84
+ var _this = _super !== null && _super.apply(this, arguments) || this;
85
+ _this.name = 'permission_gated_test';
86
+ _this.auth = {
87
+ service: {
88
+ query: { permission: 'users' },
89
+ update: { permission: 'users' },
90
+ },
91
+ serviceProtectedColumns: ['owner'],
92
+ };
93
+ _this.columns = (0, Record_1.withRecordColumns)({
94
+ title: new Columns_1.StringColumn('title'),
95
+ owner: new Columns_1.StringColumn('owner'),
96
+ });
97
+ return _this;
98
+ }
99
+ return PermissionGatedTable;
100
+ }(Table_1.Table));
77
101
  /** Read-only intent: only `query` granted (the canDelete-regression shape). */
78
102
  var ReadOnlyTable = /** @class */ (function (_super) {
79
103
  __extends(ReadOnlyTable, _super);
@@ -97,6 +121,11 @@ var setUser = function (roles) {
97
121
  getUser: function () { return ({ email: 'user@test.local', roles: roles }); },
98
122
  };
99
123
  };
124
+ var setMapping = function (mapping) {
125
+ user_auth_1.UserAuth.permissionRolesMapping = {
126
+ getRoles: function (permission) { return mapping[permission]; },
127
+ };
128
+ };
100
129
  var auth = function () { return new TableServiceAuth_1.TableServiceAuth(); };
101
130
  /** A denial must be a client-safe ServiceError naming the table and operation. */
102
131
  var expectDenied = function (fn, message) {
@@ -138,6 +167,44 @@ describe('TableServiceAuth — per-operation service grants', function () {
138
167
  expectDenied(function () { return auth().canAccess('delete', [table, { id: 'x' }]); }, 'User is not authorized to delete records from table: read_only_test');
139
168
  });
140
169
  });
170
+ describe('TableServiceAuth — permission-keyed doors (the user table shape)', function () {
171
+ afterEach(function () {
172
+ user_auth_1.UserAuth.userRepo = undefined;
173
+ user_auth_1.UserAuth.permissionRolesMapping = undefined;
174
+ });
175
+ it("grants a holder of the consumer's mapped role; denies without the role", function () {
176
+ var table = new PermissionGatedTable();
177
+ setMapping({ users: ['support'] });
178
+ setUser(['support']);
179
+ expect(auth().canAccess('query', [table, {}])).toBe(true);
180
+ expect(auth().canAccess('update', [table, { id: 'x', title: 't' }])).toBe(true);
181
+ setUser(['dev']);
182
+ expectDenied(function () { return auth().canAccess('query', [table, {}]); }, 'User is not authorized to query table: permission_gated_test');
183
+ });
184
+ it('denies everyone but admin when no mapping is registered (default deny)', function () {
185
+ var table = new PermissionGatedTable();
186
+ setUser(['support']);
187
+ expectDenied(function () { return auth().canAccess('query', [table, {}]); }, 'User is not authorized to query table: permission_gated_test');
188
+ setUser(['admin']);
189
+ expect(auth().canAccess('query', [table, {}])).toBe(true);
190
+ });
191
+ it('operations without a grant stay closed even for permission holders (and admin)', function () {
192
+ var table = new PermissionGatedTable();
193
+ setMapping({ users: ['support'] });
194
+ setUser(['support']);
195
+ expectDenied(function () { return auth().canAccess('insert', [table, { title: 't' }]); }, 'User is not authorized to insert records into table: permission_gated_test');
196
+ // An auth block with no grant for the operation is a deliberate lock, not an admin default —
197
+ // the audit-table shape (role_grant_event) depends on this.
198
+ setUser(['admin']);
199
+ expectDenied(function () { return auth().canAccess('delete', [table, { id: 'x' }]); }, 'User is not authorized to delete records from table: permission_gated_test');
200
+ });
201
+ it('the protected column stays unwritable even for a permission holder with the update grant', function () {
202
+ var table = new PermissionGatedTable();
203
+ setMapping({ users: ['support'] });
204
+ setUser(['support']);
205
+ expectDenied(function () { return auth().canAccess('update', [table, { id: 'x', owner: 'someone' }]); }, "Column 'owner' cannot be written via the db service on table: permission_gated_test");
206
+ });
207
+ });
141
208
  describe('TableServiceAuth — default deny (no auth block)', function () {
142
209
  afterEach(function () {
143
210
  user_auth_1.UserAuth.userRepo = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"TableServiceAuth.test.js","sourceRoot":"","sources":["../../test/TableServiceAuth.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableServiceAuth.test.js","sourceRoot":"","sources":["../../test/TableServiceAuth.test.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export * from './reusable/ColumnTypesTests';
4
4
  export * from './reusable/DynamicReferenceColumnTests';
5
5
  export * from './reusable/TransactionTests';
6
6
  export * from './reusable/CascadeDeleteTests';
7
+ export * from './util/testUser';
7
8
  export * from './util/tables/cascadeDeleteTestTables';
8
9
  export * from './util/tables/columnTypesTestTables';
9
10
  export * from './util/tables/crudTestTables';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../test/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../test/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC"}
@@ -20,6 +20,7 @@ __exportStar(require("./reusable/ColumnTypesTests"), exports);
20
20
  __exportStar(require("./reusable/DynamicReferenceColumnTests"), exports);
21
21
  __exportStar(require("./reusable/TransactionTests"), exports);
22
22
  __exportStar(require("./reusable/CascadeDeleteTests"), exports);
23
+ __exportStar(require("./util/testUser"), exports);
23
24
  __exportStar(require("./util/tables/cascadeDeleteTestTables"), exports);
24
25
  __exportStar(require("./util/tables/columnTypesTestTables"), exports);
25
26
  __exportStar(require("./util/tables/crudTestTables"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../test/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,uDAAqC;AACrC,8DAA4C;AAC5C,yEAAuD;AACvD,8DAA4C;AAC5C,gEAA8C;AAE9C,wEAAsD;AACtD,sEAAoD;AACpD,+DAA6C;AAC7C,iFAA+D;AAC/D,uEAAqD;AACrD,sEAAoD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../test/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,uDAAqC;AACrC,8DAA4C;AAC5C,yEAAuD;AACvD,8DAA4C;AAC5C,gEAA8C;AAE9C,kDAAgC;AAEhC,wEAAsD;AACtD,sEAAoD;AACpD,+DAA6C;AAC7C,iFAA+D;AAC/D,uEAAqD;AACrD,sEAAoD"}
@@ -1 +1 @@
1
- {"version":3,"file":"DbTestEnvironment.d.ts","sourceRoot":"","sources":["../../../test/util/DbTestEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAiBhD;;GAEG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;gBADb,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;IAGvD,SAAS;IAUT,QAAQ;CASf"}
1
+ {"version":3,"file":"DbTestEnvironment.d.ts","sourceRoot":"","sources":["../../../test/util/DbTestEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAkBhD;;GAEG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;gBADb,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;IAGvD,SAAS;IAaT,QAAQ;CAUf"}
@@ -46,6 +46,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
46
46
  };
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.DbTestEnvironment = void 0;
49
+ var testUser_1 = require("./testUser");
49
50
  var cascadeDeleteTestTables_1 = require("./tables/cascadeDeleteTestTables");
50
51
  var columnTypesTestTables_1 = require("./tables/columnTypesTestTables");
51
52
  var crudTestTables_1 = require("./tables/crudTestTables");
@@ -67,6 +68,9 @@ var DbTestEnvironment = /** @class */ (function () {
67
68
  return __generator(this, function (_a) {
68
69
  switch (_a.label) {
69
70
  case 0:
71
+ // UserAuth is fail-closed; the suites run non-system Db paths, so they carry an explicit
72
+ // identity instead of leaning on an open gate.
73
+ (0, testUser_1.registerTestUser)();
70
74
  if (!this.dbDriver.start) return [3 /*break*/, 2];
71
75
  return [4 /*yield*/, this.dbDriver.start()];
72
76
  case 1:
@@ -96,6 +100,7 @@ var DbTestEnvironment = /** @class */ (function () {
96
100
  return __generator(this, function (_b) {
97
101
  switch (_b.label) {
98
102
  case 0:
103
+ (0, testUser_1.clearTestUser)();
99
104
  _i = 0, _a = TABLES.reverse();
100
105
  _b.label = 1;
101
106
  case 1:
@@ -1 +1 @@
1
- {"version":3,"file":"DbTestEnvironment.js","sourceRoot":"","sources":["../../../test/util/DbTestEnvironment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4EAA2E;AAC3E,wEAAuE;AACvE,0DAAyD;AACzD,8FAAuF;AACvF,0EAAyE;AACzE,wEAAuE;AAEvE,IAAM,MAAM,2FACP,MAAM,CAAC,MAAM,CAAC,iDAAuB,CAAC,SACtC,MAAM,CAAC,MAAM,CAAC,6CAAqB,CAAC,SACpC,MAAM,CAAC,MAAM,CAAC,+BAAc,CAAC,SAC7B,MAAM,CAAC,MAAM,CAAC,6DAA0B,CAAC,SACzC,MAAM,CAAC,MAAM,CAAC,+CAAsB,CAAC,SACrC,MAAM,CAAC,MAAM,CAAC,6CAAqB,CAAC,OACxC,CAAC;AAEF;;GAEG;AACH;IACE,2BACU,QAAkB,EAClB,aAAmD;QADnD,aAAQ,GAAR,QAAQ,CAAU;QAClB,kBAAa,GAAb,aAAa,CAAsC;IAC1D,CAAC;IAEE,qCAAS,GAAf;;;;;;6BACM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAnB,wBAAmB;wBACrB,qBAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAA;;wBAA3B,SAA2B,CAAC;;;8BAGJ,EAAN,iBAAM;;;6BAAN,CAAA,oBAAM,CAAA;wBAAf,KAAK;wBACd,qBAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAA;;wBAAtD,SAAsD,CAAC;;;wBADrC,IAAM,CAAA;;;;;;KAG3B;IAEK,oCAAQ,GAAd;;;;;;8BACsC,EAAhB,KAAA,MAAM,CAAC,OAAO,EAAE;;;6BAAhB,CAAA,cAAgB,CAAA;wBAAzB,KAAK;wBACd,qBAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAA;;wBAA/B,SAA+B,CAAC;;;wBADd,IAAgB,CAAA;;;6BAIhC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAlB,wBAAkB;wBACpB,qBAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAA;;wBAA1B,SAA0B,CAAC;;;;;;KAE9B;IACH,wBAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,8CAAiB"}
1
+ {"version":3,"file":"DbTestEnvironment.js","sourceRoot":"","sources":["../../../test/util/DbTestEnvironment.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA6D;AAC7D,4EAA2E;AAC3E,wEAAuE;AACvE,0DAAyD;AACzD,8FAAuF;AACvF,0EAAyE;AACzE,wEAAuE;AAEvE,IAAM,MAAM,2FACP,MAAM,CAAC,MAAM,CAAC,iDAAuB,CAAC,SACtC,MAAM,CAAC,MAAM,CAAC,6CAAqB,CAAC,SACpC,MAAM,CAAC,MAAM,CAAC,+BAAc,CAAC,SAC7B,MAAM,CAAC,MAAM,CAAC,6DAA0B,CAAC,SACzC,MAAM,CAAC,MAAM,CAAC,+CAAsB,CAAC,SACrC,MAAM,CAAC,MAAM,CAAC,6CAAqB,CAAC,OACxC,CAAC;AAEF;;GAEG;AACH;IACE,2BACU,QAAkB,EAClB,aAAmD;QADnD,aAAQ,GAAR,QAAQ,CAAU;QAClB,kBAAa,GAAb,aAAa,CAAsC;IAC1D,CAAC;IAEE,qCAAS,GAAf;;;;;;wBACE,yFAAyF;wBACzF,+CAA+C;wBAC/C,IAAA,2BAAgB,GAAE,CAAC;6BACf,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAnB,wBAAmB;wBACrB,qBAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAA;;wBAA3B,SAA2B,CAAC;;;8BAGJ,EAAN,iBAAM;;;6BAAN,CAAA,oBAAM,CAAA;wBAAf,KAAK;wBACd,qBAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAA;;wBAAtD,SAAsD,CAAC;;;wBADrC,IAAM,CAAA;;;;;;KAG3B;IAEK,oCAAQ,GAAd;;;;;;wBACE,IAAA,wBAAa,GAAE,CAAC;8BACoB,EAAhB,KAAA,MAAM,CAAC,OAAO,EAAE;;;6BAAhB,CAAA,cAAgB,CAAA;wBAAzB,KAAK;wBACd,qBAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAA;;wBAA/B,SAA+B,CAAC;;;wBADd,IAAgB,CAAA;;;6BAIhC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAlB,wBAAkB;wBACpB,qBAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAA;;wBAA1B,SAA0B,CAAC;;;;;;KAE9B;IACH,wBAAC;AAAD,CAAC,AA7BD,IA6BC;AA7BY,8CAAiB"}
@@ -0,0 +1,5 @@
1
+ /** Register an explicit identity on `UserAuth` (admin by default — the reusable suites test CRUD, not table doors). */
2
+ export declare const registerTestUser: (roles?: string[], email?: string) => void;
3
+ /** Remove the registered test identity, restoring the deny-everything unregistered state. */
4
+ export declare const clearTestUser: () => void;
5
+ //# sourceMappingURL=testUser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUser.d.ts","sourceRoot":"","sources":["../../../test/util/testUser.ts"],"names":[],"mappings":"AAkBA,uHAAuH;AACvH,eAAO,MAAM,gBAAgB,WAAW,MAAM,EAAE,yBAE/C,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,aAAa,YAEzB,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clearTestUser = exports.registerTestUser = void 0;
4
+ var user_auth_1 = require("@proteinjs/user-auth");
5
+ /** Register an explicit identity on `UserAuth` (admin by default — the reusable suites test CRUD, not table doors). */
6
+ var registerTestUser = function (roles, email) {
7
+ if (roles === void 0) { roles = ['admin']; }
8
+ if (email === void 0) { email = 'db-test-user@test.local'; }
9
+ user_auth_1.UserAuth.userRepo = { getUser: function () { return ({ email: email, roles: roles }); } };
10
+ };
11
+ exports.registerTestUser = registerTestUser;
12
+ /** Remove the registered test identity, restoring the deny-everything unregistered state. */
13
+ var clearTestUser = function () {
14
+ user_auth_1.UserAuth.userRepo = undefined;
15
+ };
16
+ exports.clearTestUser = clearTestUser;
17
+ //# sourceMappingURL=testUser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUser.js","sourceRoot":"","sources":["../../../test/util/testUser.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAkBhD,uHAAuH;AAChH,IAAM,gBAAgB,GAAG,UAAC,KAA2B,EAAE,KAAiC;IAA9D,sBAAA,EAAA,SAAmB,OAAO,CAAC;IAAE,sBAAA,EAAA,iCAAiC;IAC5F,oBAAyC,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,cAAM,OAAA,CAAC,EAAE,KAAK,OAAA,EAAE,KAAK,OAAA,EAAE,CAAC,EAAlB,CAAkB,EAAE,CAAC;AAC9F,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEF,6FAA6F;AACtF,IAAM,aAAa,GAAG;IAC1B,oBAAyC,CAAC,QAAQ,GAAG,SAAS,CAAC;AAClE,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}