@cerebruminc/yates 3.8.1 → 4.0.0-beta.dangerous.0d42031
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/index.d.ts +50 -3
- package/dist/index.js +462 -205
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [4.0.1](https://github.com/cerebruminc/yates/compare/v4.0.0...v4.0.1) (2026-07-06)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* **yates:** skip unchanged startup reconciliation ([d01dffc](https://github.com/cerebruminc/yates/commit/d01dffc950666ba28b13b4dc69ea5f3ae71681d4))
|
|
9
|
+
|
|
10
|
+
## [4.0.0](https://github.com/cerebruminc/yates/compare/v3.8.1...v4.0.0) (2026-02-25)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### ⚠ BREAKING CHANGES
|
|
14
|
+
|
|
15
|
+
* refactor permissions to query filters
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* refactor permissions to query filters ([06d1007](https://github.com/cerebruminc/yates/commit/06d10079c460e15a787516d9301daf28ce776c20))
|
|
20
|
+
|
|
3
21
|
## [3.8.1](https://github.com/cerebruminc/yates/compare/v3.8.0...v3.8.1) (2025-11-15)
|
|
4
22
|
|
|
5
23
|
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,27 @@ import { Expression, RuntimeDataModel } from "./expressions";
|
|
|
3
3
|
declare const VALID_OPERATIONS: readonly ["SELECT", "UPDATE", "INSERT", "DELETE"];
|
|
4
4
|
type Operation = (typeof VALID_OPERATIONS)[number];
|
|
5
5
|
export type Models = Prisma.ModelName;
|
|
6
|
+
type PrismaExecutor = Pick<PrismaClient, "$executeRawUnsafe" | "$queryRawUnsafe" | "$queryRaw">;
|
|
7
|
+
interface ResolvedSetupAbilityExpression {
|
|
8
|
+
abilityExpression: string;
|
|
9
|
+
policyExpression: string;
|
|
10
|
+
}
|
|
11
|
+
export interface SetupManifestAbility {
|
|
12
|
+
expression: string | null;
|
|
13
|
+
model: string;
|
|
14
|
+
operation: Operation;
|
|
15
|
+
policyName: string;
|
|
16
|
+
slug: string;
|
|
17
|
+
}
|
|
18
|
+
export interface SetupManifestRole {
|
|
19
|
+
grants: string[] | "*";
|
|
20
|
+
roleName: string;
|
|
21
|
+
}
|
|
22
|
+
export interface SetupManifest {
|
|
23
|
+
abilities: SetupManifestAbility[];
|
|
24
|
+
databaseScope: string;
|
|
25
|
+
roles: SetupManifestRole[];
|
|
26
|
+
}
|
|
6
27
|
interface ClientOptions {
|
|
7
28
|
/** The maximum amount of time Yates will wait to acquire a transaction from the database. The default value is 30 seconds. */
|
|
8
29
|
txMaxWait?: number;
|
|
@@ -76,9 +97,25 @@ export declare class Yates {
|
|
|
76
97
|
createDatabaseScope: (databaseName: string) => string;
|
|
77
98
|
getDatabaseScope: () => string;
|
|
78
99
|
ensureDatabaseScope: () => Promise<string>;
|
|
79
|
-
setupAbilityTable: () => Promise<[number, number, number]>;
|
|
100
|
+
setupAbilityTable: () => Promise<[number, number, number, number, number]>;
|
|
80
101
|
createAbilityName: (model: string, ability: string) => string;
|
|
81
102
|
createRoleName: (name: string) => string;
|
|
103
|
+
quoteIdentifier: (identifier: string) => string;
|
|
104
|
+
enableRowLevelSecurityIfNeeded: (prisma: Pick<PrismaClient, "$executeRawUnsafe" | "$queryRawUnsafe">, table: string) => Promise<void>;
|
|
105
|
+
createSetupManifestHash: (manifest: SetupManifest) => string;
|
|
106
|
+
createSetupManifest: (abilities: Partial<DefaultAbilities>, roles: {
|
|
107
|
+
[role: string]: "*" | AllAbilities<string, Prisma.ModelName>[];
|
|
108
|
+
}) => {
|
|
109
|
+
abilities: SetupManifestAbility[];
|
|
110
|
+
databaseScope: string;
|
|
111
|
+
roles: {
|
|
112
|
+
grants: string[] | "*";
|
|
113
|
+
roleName: string;
|
|
114
|
+
}[];
|
|
115
|
+
};
|
|
116
|
+
getSetupManifestId: () => string;
|
|
117
|
+
getStoredSetupManifestHash: (manifestId: string, prisma?: PrismaExecutor) => Promise<string>;
|
|
118
|
+
upsertSetupManifestHash: (manifestId: string, manifestHash: string, prisma?: PrismaExecutor) => Prisma.PrismaPromise<number>;
|
|
82
119
|
getDefaultAbilities: (models: Models[]) => Partial<DefaultAbilities<string, Prisma.ModelName>>;
|
|
83
120
|
getBatchId(query: any): string | undefined;
|
|
84
121
|
buildKeysString(obj: object): string;
|
|
@@ -93,12 +130,22 @@ export declare class Yates {
|
|
|
93
130
|
query: {};
|
|
94
131
|
client: {};
|
|
95
132
|
}>;
|
|
96
|
-
setRLS: <ContextKeys extends string, YModel extends Prisma.ModelName>(prisma:
|
|
97
|
-
createRoles: <ContextKeys extends string, YModels extends Prisma.ModelName, K extends CustomAbilities<string, Prisma.ModelName> = CustomAbilities<string, Prisma.ModelName>, T = DefaultAbilities<ContextKeys, YModels> & K>({ customAbilities, getRoles, }: {
|
|
133
|
+
setRLS: <ContextKeys extends string, YModel extends Prisma.ModelName>(prisma: PrismaExecutor, table: string, roleName: string, slug: string, ability: Ability<ContextKeys, YModel>, resolvedExpression: ResolvedSetupAbilityExpression) => Promise<void>;
|
|
134
|
+
createRoles: <ContextKeys extends string, YModels extends Prisma.ModelName, K extends CustomAbilities<string, Prisma.ModelName> = CustomAbilities<string, Prisma.ModelName>, T = DefaultAbilities<ContextKeys, YModels> & K>({ customAbilities, getRoles, options, }: {
|
|
98
135
|
customAbilities?: Partial<K> | undefined;
|
|
99
136
|
getRoles: (abilities: T) => {
|
|
100
137
|
[role: string]: "*" | AllAbilities<ContextKeys, YModels>[];
|
|
101
138
|
};
|
|
139
|
+
options?: ClientOptions | undefined;
|
|
140
|
+
}) => Promise<void>;
|
|
141
|
+
reconcileRoles: <ContextKeys extends string, YModels extends Prisma.ModelName>({ abilities, defaultAbilities, prisma, resolvedSetupAbilityExpressions, roles, }: {
|
|
142
|
+
abilities: Partial<DefaultAbilities>;
|
|
143
|
+
defaultAbilities: Partial<DefaultAbilities>;
|
|
144
|
+
prisma: PrismaExecutor;
|
|
145
|
+
resolvedSetupAbilityExpressions: Record<string, ResolvedSetupAbilityExpression>;
|
|
146
|
+
roles: {
|
|
147
|
+
[role: string]: "*" | AllAbilities<ContextKeys, YModels>[];
|
|
148
|
+
};
|
|
102
149
|
}) => Promise<void>;
|
|
103
150
|
inspectDBRoles: (role: string) => Promise<{
|
|
104
151
|
tablename: string;
|
package/dist/index.js
CHANGED
|
@@ -73,17 +73,6 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
73
73
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
74
74
|
}
|
|
75
75
|
};
|
|
76
|
-
var __values = (this && this.__values) || function(o) {
|
|
77
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
78
|
-
if (m) return m.call(o);
|
|
79
|
-
if (o && typeof o.length === "number") return {
|
|
80
|
-
next: function () {
|
|
81
|
-
if (o && i >= o.length) o = void 0;
|
|
82
|
-
return { value: o && o[i++], done: !o };
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
86
|
-
};
|
|
87
76
|
var __read = (this && this.__read) || function (o, n) {
|
|
88
77
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
89
78
|
if (!m) return o;
|
|
@@ -109,6 +98,17 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
109
98
|
}
|
|
110
99
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
111
100
|
};
|
|
101
|
+
var __values = (this && this.__values) || function(o) {
|
|
102
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
103
|
+
if (m) return m.call(o);
|
|
104
|
+
if (o && typeof o.length === "number") return {
|
|
105
|
+
next: function () {
|
|
106
|
+
if (o && i >= o.length) o = void 0;
|
|
107
|
+
return { value: o && o[i++], done: !o };
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
111
|
+
};
|
|
112
112
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
113
113
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
114
114
|
};
|
|
@@ -123,6 +123,8 @@ var map_1 = __importDefault(require("lodash/map"));
|
|
|
123
123
|
var toPairs_1 = __importDefault(require("lodash/toPairs"));
|
|
124
124
|
var expressions_1 = require("./expressions");
|
|
125
125
|
var VALID_OPERATIONS = ["SELECT", "UPDATE", "INSERT", "DELETE"];
|
|
126
|
+
var SETUP_MANIFEST_VERSION = "1";
|
|
127
|
+
var YATES_VERSION = require("../package.json").version;
|
|
126
128
|
var debug = (0, debug_1.default)("yates");
|
|
127
129
|
/**
|
|
128
130
|
* This function is used to take a lock that is automatically released at the end of the current transaction.
|
|
@@ -228,6 +230,8 @@ var Yates = /** @class */ (function () {
|
|
|
228
230
|
takeLock(_this.prisma),
|
|
229
231
|
_this.prisma.$executeRawUnsafe("\n\t\t\t\tCREATE SCHEMA IF NOT EXISTS _yates;\n\t\t\t"),
|
|
230
232
|
_this.prisma.$executeRawUnsafe("\n\t\t\t\tCREATE TABLE IF NOT EXISTS _yates._yates_abilities (\n\t\t\t\t\tid SERIAL PRIMARY KEY,\n\t\t\t\t\tability_model TEXT NOT NULL,\n\t\t\t\t\tability_name TEXT NOT NULL,\n\t\t\t\t\tability_policy_name TEXT NOT NULL UNIQUE,\n\t\t\t\t\tability_description TEXT NOT NULL,\n\t\t\t\t\tability_operation TEXT NOT NULL,\n\t\t\t\t\tability_expression TEXT NOT NULL,\n\t\t\t\t\tcreated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n\t\t\t\t\tupdated_at TIMESTAMP\n\t\t\t\t);\n\t\t\t"),
|
|
233
|
+
_this.prisma.$executeRawUnsafe("\n\t\t\t\tCREATE TABLE IF NOT EXISTS _yates._yates_schema_syncs (\n\t\t\t\t\tid TEXT PRIMARY KEY,\n\t\t\t\t\tmanifest_hash TEXT NOT NULL,\n\t\t\t\t\tmanifest_version TEXT,\n\t\t\t\t\tyates_version TEXT,\n\t\t\t\t\tapp_name TEXT,\n\t\t\t\t\tapplied_at TIMESTAMPTZ NOT NULL DEFAULT now()\n\t\t\t\t);\n\t\t\t"),
|
|
234
|
+
_this.prisma.$executeRawUnsafe("\n\t\t\t\tDO $$\n\t\t\t\tBEGIN\n\t\t\t\t\tIF EXISTS (\n\t\t\t\t\t\tSELECT 1 FROM information_schema.columns\n\t\t\t\t\t\tWHERE table_schema = '_yates'\n\t\t\t\t\t\tAND table_name = '_yates_schema_syncs'\n\t\t\t\t\t\tAND column_name = 'yates_version'\n\t\t\t\t\t) AND NOT EXISTS (\n\t\t\t\t\t\tSELECT 1 FROM information_schema.columns\n\t\t\t\t\t\tWHERE table_schema = '_yates'\n\t\t\t\t\t\tAND table_name = '_yates_schema_syncs'\n\t\t\t\t\t\tAND column_name = 'manifest_version'\n\t\t\t\t\t) THEN\n\t\t\t\t\t\tALTER TABLE _yates._yates_schema_syncs RENAME COLUMN yates_version TO manifest_version;\n\t\t\t\t\tELSIF NOT EXISTS (\n\t\t\t\t\t\tSELECT 1 FROM information_schema.columns\n\t\t\t\t\t\tWHERE table_schema = '_yates'\n\t\t\t\t\t\tAND table_name = '_yates_schema_syncs'\n\t\t\t\t\t\tAND column_name = 'manifest_version'\n\t\t\t\t\t) THEN\n\t\t\t\t\t\tALTER TABLE _yates._yates_schema_syncs ADD COLUMN manifest_version TEXT;\n\t\t\t\t\tEND IF;\n\n\t\t\t\t\tIF NOT EXISTS (\n\t\t\t\t\t\tSELECT 1 FROM information_schema.columns\n\t\t\t\t\t\tWHERE table_schema = '_yates'\n\t\t\t\t\t\tAND table_name = '_yates_schema_syncs'\n\t\t\t\t\t\tAND column_name = 'yates_version'\n\t\t\t\t\t) THEN\n\t\t\t\t\t\tALTER TABLE _yates._yates_schema_syncs ADD COLUMN yates_version TEXT;\n\t\t\t\t\tEND IF;\n\t\t\t\tEND\n\t\t\t\t$$;\n\t\t\t"),
|
|
231
235
|
]);
|
|
232
236
|
};
|
|
233
237
|
this.createAbilityName = function (model, ability) {
|
|
@@ -238,8 +242,132 @@ var Yates = /** @class */ (function () {
|
|
|
238
242
|
var scope = _this.getDatabaseScope();
|
|
239
243
|
return (0, exports.sanitizeSlug)(hashWithPrefix("yates_role_", "".concat(scope, "_").concat(name)));
|
|
240
244
|
};
|
|
245
|
+
this.quoteIdentifier = function (identifier) {
|
|
246
|
+
return "\"".concat(identifier.replace(/"/g, '""'), "\"");
|
|
247
|
+
};
|
|
248
|
+
this.enableRowLevelSecurityIfNeeded = function (prisma, table) { return __awaiter(_this, void 0, void 0, function () {
|
|
249
|
+
var rlsState;
|
|
250
|
+
var _a;
|
|
251
|
+
return __generator(this, function (_b) {
|
|
252
|
+
switch (_b.label) {
|
|
253
|
+
case 0: return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\t\tSELECT c.relrowsecurity\n\t\t\t\tFROM pg_catalog.pg_class c\n\t\t\t\tJOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n\t\t\t\tWHERE n.nspname = 'public'\n\t\t\t\tAND c.relname = $1\n\t\t\t\tAND c.relkind IN ('r', 'p')\n\t\t\t\tLIMIT 1;\n\t\t\t", table)];
|
|
254
|
+
case 1:
|
|
255
|
+
rlsState = _b.sent();
|
|
256
|
+
if ((_a = rlsState[0]) === null || _a === void 0 ? void 0 : _a.relrowsecurity) {
|
|
257
|
+
debug("Row level security already enabled for", table);
|
|
258
|
+
return [2 /*return*/];
|
|
259
|
+
}
|
|
260
|
+
debug("Enabling row level security for", table);
|
|
261
|
+
return [4 /*yield*/, prisma.$executeRawUnsafe("ALTER table ".concat(this.quoteIdentifier("public"), ".").concat(this.quoteIdentifier(table), " enable row level security;"))];
|
|
262
|
+
case 2:
|
|
263
|
+
_b.sent();
|
|
264
|
+
return [2 /*return*/];
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
}); };
|
|
268
|
+
this.createSetupManifestHash = function (manifest) {
|
|
269
|
+
var normalizedManifest = {
|
|
270
|
+
abilities: __spreadArray([], __read(manifest.abilities), false).sort(function (a, b) {
|
|
271
|
+
return "".concat(a.model, ":").concat(a.slug, ":").concat(a.operation, ":").concat(a.policyName).localeCompare("".concat(b.model, ":").concat(b.slug, ":").concat(b.operation, ":").concat(b.policyName));
|
|
272
|
+
}),
|
|
273
|
+
databaseScope: manifest.databaseScope,
|
|
274
|
+
roles: __spreadArray([], __read(manifest.roles), false).map(function (role) { return (__assign(__assign({}, role), { grants: Array.isArray(role.grants)
|
|
275
|
+
? __spreadArray([], __read(role.grants), false).sort()
|
|
276
|
+
: role.grants })); })
|
|
277
|
+
.sort(function (a, b) { return a.roleName.localeCompare(b.roleName); }),
|
|
278
|
+
version: SETUP_MANIFEST_VERSION,
|
|
279
|
+
};
|
|
280
|
+
var hash = crypto.createHash("sha256");
|
|
281
|
+
hash.update(JSON.stringify(normalizedManifest));
|
|
282
|
+
return hash.digest("hex");
|
|
283
|
+
};
|
|
284
|
+
this.createSetupManifest = function (abilities, roles) {
|
|
285
|
+
var e_1, _a, e_2, _b;
|
|
286
|
+
var _c, _d;
|
|
287
|
+
var manifestAbilities = [];
|
|
288
|
+
try {
|
|
289
|
+
for (var _e = __values(Object.keys(abilities).sort()), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
290
|
+
var model = _f.value;
|
|
291
|
+
var modelAbilities = abilities[model];
|
|
292
|
+
if (!modelAbilities)
|
|
293
|
+
continue;
|
|
294
|
+
try {
|
|
295
|
+
for (var _g = (e_2 = void 0, __values(Object.keys(modelAbilities).sort())), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
296
|
+
var slug = _h.value;
|
|
297
|
+
var ability = modelAbilities[slug];
|
|
298
|
+
if (!ability)
|
|
299
|
+
continue;
|
|
300
|
+
manifestAbilities.push({
|
|
301
|
+
expression: (_d = (_c = ability.expression) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : null,
|
|
302
|
+
model: model,
|
|
303
|
+
operation: ability.operation,
|
|
304
|
+
policyName: _this.createAbilityName(model, slug),
|
|
305
|
+
slug: slug,
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
310
|
+
finally {
|
|
311
|
+
try {
|
|
312
|
+
if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
|
|
313
|
+
}
|
|
314
|
+
finally { if (e_2) throw e_2.error; }
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
319
|
+
finally {
|
|
320
|
+
try {
|
|
321
|
+
if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
|
|
322
|
+
}
|
|
323
|
+
finally { if (e_1) throw e_1.error; }
|
|
324
|
+
}
|
|
325
|
+
var manifestRoles = Object.keys(roles)
|
|
326
|
+
.sort()
|
|
327
|
+
.map(function (roleName) {
|
|
328
|
+
var roleAbilities = roles[roleName];
|
|
329
|
+
var grants = Array.isArray(roleAbilities)
|
|
330
|
+
? roleAbilities.map(function (ability) {
|
|
331
|
+
if (!ability.model || !ability.slug) {
|
|
332
|
+
throw new Error("Ability for role ".concat(roleName, " is missing model or slug"));
|
|
333
|
+
}
|
|
334
|
+
return _this.createAbilityName(ability.model, ability.slug);
|
|
335
|
+
})
|
|
336
|
+
: "*";
|
|
337
|
+
return { grants: grants, roleName: roleName };
|
|
338
|
+
});
|
|
339
|
+
return {
|
|
340
|
+
abilities: manifestAbilities,
|
|
341
|
+
databaseScope: _this.getDatabaseScope(),
|
|
342
|
+
roles: manifestRoles,
|
|
343
|
+
};
|
|
344
|
+
};
|
|
345
|
+
this.getSetupManifestId = function () { return "".concat(_this.getDatabaseScope(), ":public"); };
|
|
346
|
+
this.getStoredSetupManifestHash = function (manifestId_1) {
|
|
347
|
+
var args_1 = [];
|
|
348
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
349
|
+
args_1[_i - 1] = arguments[_i];
|
|
350
|
+
}
|
|
351
|
+
return __awaiter(_this, __spreadArray([manifestId_1], __read(args_1), false), void 0, function (manifestId, prisma) {
|
|
352
|
+
var rows;
|
|
353
|
+
var _a, _b;
|
|
354
|
+
if (prisma === void 0) { prisma = this.prisma; }
|
|
355
|
+
return __generator(this, function (_c) {
|
|
356
|
+
switch (_c.label) {
|
|
357
|
+
case 0: return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\t\tSELECT manifest_hash\n\t\t\t\tFROM _yates._yates_schema_syncs\n\t\t\t\tWHERE id = $1\n\t\t\t\tLIMIT 1;\n\t\t\t", manifestId)];
|
|
358
|
+
case 1:
|
|
359
|
+
rows = _c.sent();
|
|
360
|
+
return [2 /*return*/, (_b = (_a = rows[0]) === null || _a === void 0 ? void 0 : _a.manifest_hash) !== null && _b !== void 0 ? _b : null];
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
});
|
|
364
|
+
};
|
|
365
|
+
this.upsertSetupManifestHash = function (manifestId, manifestHash, prisma) {
|
|
366
|
+
if (prisma === void 0) { prisma = _this.prisma; }
|
|
367
|
+
return prisma.$executeRawUnsafe("\n\t\t\t\tINSERT INTO _yates._yates_schema_syncs (id, manifest_hash, manifest_version, yates_version, app_name, applied_at)\n\t\t\t\tVALUES ($1, $2, $3, $4, $5, now())\n\t\t\t\tON CONFLICT (id) DO UPDATE\n\t\t\t\tSET manifest_hash = EXCLUDED.manifest_hash,\n\t\t\t\t\tmanifest_version = EXCLUDED.manifest_version,\n\t\t\t\t\tyates_version = EXCLUDED.yates_version,\n\t\t\t\t\tapp_name = EXCLUDED.app_name,\n\t\t\t\t\tapplied_at = now();\n\t\t\t", manifestId, manifestHash, SETUP_MANIFEST_VERSION, YATES_VERSION, "yates");
|
|
368
|
+
};
|
|
241
369
|
this.getDefaultAbilities = function (models) {
|
|
242
|
-
var
|
|
370
|
+
var e_3, _a;
|
|
243
371
|
var abilities = {};
|
|
244
372
|
try {
|
|
245
373
|
for (var models_1 = __values(models), models_1_1 = models_1.next(); !models_1_1.done; models_1_1 = models_1.next()) {
|
|
@@ -276,12 +404,12 @@ var Yates = /** @class */ (function () {
|
|
|
276
404
|
};
|
|
277
405
|
}
|
|
278
406
|
}
|
|
279
|
-
catch (
|
|
407
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
280
408
|
finally {
|
|
281
409
|
try {
|
|
282
410
|
if (models_1_1 && !models_1_1.done && (_a = models_1.return)) _a.call(models_1);
|
|
283
411
|
}
|
|
284
|
-
finally { if (
|
|
412
|
+
finally { if (e_3) throw e_3.error; }
|
|
285
413
|
}
|
|
286
414
|
return abilities;
|
|
287
415
|
};
|
|
@@ -314,7 +442,7 @@ var Yates = /** @class */ (function () {
|
|
|
314
442
|
// This function is called once per tick, and processes all the batches that have been created during that tick.
|
|
315
443
|
// Each batch represents a unique role + context combination, and contains all the requests that need to be executed with that role + context.
|
|
316
444
|
var dispatchBatches = function () {
|
|
317
|
-
var
|
|
445
|
+
var e_4, _a;
|
|
318
446
|
var _loop_1 = function (key, batch) {
|
|
319
447
|
delete batches[key];
|
|
320
448
|
// Because batch transactions inside a prisma client query extension can run out of order if used with async middleware,
|
|
@@ -323,8 +451,8 @@ var Yates = /** @class */ (function () {
|
|
|
323
451
|
// See https://github.com/prisma/prisma/issues/18276
|
|
324
452
|
prisma
|
|
325
453
|
.$transaction(function (tx) { return __awaiter(_this, void 0, void 0, function () {
|
|
326
|
-
var _a, _b, _c, key_1, value,
|
|
327
|
-
var
|
|
454
|
+
var _a, _b, _c, key_1, value, e_5_1, txId, results;
|
|
455
|
+
var e_5, _d;
|
|
328
456
|
return __generator(this, function (_e) {
|
|
329
457
|
switch (_e.label) {
|
|
330
458
|
case 0:
|
|
@@ -350,14 +478,14 @@ var Yates = /** @class */ (function () {
|
|
|
350
478
|
return [3 /*break*/, 3];
|
|
351
479
|
case 6: return [3 /*break*/, 9];
|
|
352
480
|
case 7:
|
|
353
|
-
|
|
354
|
-
|
|
481
|
+
e_5_1 = _e.sent();
|
|
482
|
+
e_5 = { error: e_5_1 };
|
|
355
483
|
return [3 /*break*/, 9];
|
|
356
484
|
case 8:
|
|
357
485
|
try {
|
|
358
486
|
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
359
487
|
}
|
|
360
|
-
finally { if (
|
|
488
|
+
finally { if (e_5) throw e_5.error; }
|
|
361
489
|
return [7 /*endfinally*/];
|
|
362
490
|
case 9:
|
|
363
491
|
txId = tx[Symbol.for("prisma.client.transaction.id")];
|
|
@@ -382,19 +510,19 @@ var Yates = /** @class */ (function () {
|
|
|
382
510
|
});
|
|
383
511
|
})
|
|
384
512
|
.catch(function (e) {
|
|
385
|
-
var
|
|
513
|
+
var e_6, _a;
|
|
386
514
|
try {
|
|
387
|
-
for (var _b = (
|
|
515
|
+
for (var _b = (e_6 = void 0, __values(batch.requests)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
388
516
|
var request = _c.value;
|
|
389
517
|
request.reject(e);
|
|
390
518
|
}
|
|
391
519
|
}
|
|
392
|
-
catch (
|
|
520
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
393
521
|
finally {
|
|
394
522
|
try {
|
|
395
523
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
396
524
|
}
|
|
397
|
-
finally { if (
|
|
525
|
+
finally { if (e_6) throw e_6.error; }
|
|
398
526
|
}
|
|
399
527
|
delete batches[key];
|
|
400
528
|
});
|
|
@@ -405,12 +533,12 @@ var Yates = /** @class */ (function () {
|
|
|
405
533
|
_loop_1(key, batch);
|
|
406
534
|
}
|
|
407
535
|
}
|
|
408
|
-
catch (
|
|
536
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
409
537
|
finally {
|
|
410
538
|
try {
|
|
411
539
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
412
540
|
}
|
|
413
|
-
finally { if (
|
|
541
|
+
finally { if (e_4) throw e_4.error; }
|
|
414
542
|
}
|
|
415
543
|
};
|
|
416
544
|
var createRoleName = _this.createRoleName.bind(_this);
|
|
@@ -421,7 +549,7 @@ var Yates = /** @class */ (function () {
|
|
|
421
549
|
$allOperations: function (params) {
|
|
422
550
|
return __awaiter(this, void 0, void 0, function () {
|
|
423
551
|
var model, args, query, operation, ctx, role, context, pgRole, _a, _b, k, _c, _d, v, txId, hash, __internalParams;
|
|
424
|
-
var
|
|
552
|
+
var e_7, _e, e_8, _f;
|
|
425
553
|
return __generator(this, function (_g) {
|
|
426
554
|
model = params.model, args = params.args, query = params.query, operation = params.operation;
|
|
427
555
|
if (!model) {
|
|
@@ -450,31 +578,31 @@ var Yates = /** @class */ (function () {
|
|
|
450
578
|
}
|
|
451
579
|
if (Array.isArray(context[k])) {
|
|
452
580
|
try {
|
|
453
|
-
for (_c = (
|
|
581
|
+
for (_c = (e_8 = void 0, __values(context[k])), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
454
582
|
v = _d.value;
|
|
455
583
|
if (typeof v !== "string") {
|
|
456
584
|
throw new Error("Context variable \"".concat(k, "\" must be an array of strings. Got ").concat(typeof v));
|
|
457
585
|
}
|
|
458
586
|
}
|
|
459
587
|
}
|
|
460
|
-
catch (
|
|
588
|
+
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
461
589
|
finally {
|
|
462
590
|
try {
|
|
463
591
|
if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
|
|
464
592
|
}
|
|
465
|
-
finally { if (
|
|
593
|
+
finally { if (e_8) throw e_8.error; }
|
|
466
594
|
}
|
|
467
595
|
// Cast to a JSON string so that it can be used in RLS expressions
|
|
468
596
|
context[k] = JSON.stringify(context[k]);
|
|
469
597
|
}
|
|
470
598
|
}
|
|
471
599
|
}
|
|
472
|
-
catch (
|
|
600
|
+
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
473
601
|
finally {
|
|
474
602
|
try {
|
|
475
603
|
if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
|
|
476
604
|
}
|
|
477
|
-
finally { if (
|
|
605
|
+
finally { if (e_7) throw e_7.error; }
|
|
478
606
|
}
|
|
479
607
|
}
|
|
480
608
|
txId = hashWithPrefix("yates_tx_", JSON.stringify(ctx));
|
|
@@ -521,9 +649,8 @@ var Yates = /** @class */ (function () {
|
|
|
521
649
|
});
|
|
522
650
|
return client;
|
|
523
651
|
};
|
|
524
|
-
this.setRLS = function (prisma, table, roleName, slug, ability) { return __awaiter(_this, void 0, void 0, function () {
|
|
525
|
-
var operation, rawExpression, description;
|
|
526
|
-
var _this = this;
|
|
652
|
+
this.setRLS = function (prisma, table, roleName, slug, ability, resolvedExpression) { return __awaiter(_this, void 0, void 0, function () {
|
|
653
|
+
var operation, rawExpression, description, abilityExpression, policyExpression, policyName, quotedPolicyName, quotedRoleName, quotedTableName, existingAbilities, existingAbility, shouldUpdateAbilityTable;
|
|
527
654
|
return __generator(this, function (_a) {
|
|
528
655
|
switch (_a.label) {
|
|
529
656
|
case 0:
|
|
@@ -531,94 +658,76 @@ var Yates = /** @class */ (function () {
|
|
|
531
658
|
if (!rawExpression) {
|
|
532
659
|
throw new Error("Expression must be defined for RLS abilities");
|
|
533
660
|
}
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
case 0: return [4 /*yield*/, takeLock(tx)];
|
|
541
|
-
case 1:
|
|
542
|
-
_a.sent();
|
|
543
|
-
policyName = roleName;
|
|
544
|
-
return [4 /*yield*/, tx.$queryRaw(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n\t\t\t\tselect * from _yates._yates_abilities where ability_model = ", " and ability_policy_name = ", "\n\t\t\t"], ["\n\t\t\t\tselect * from _yates._yates_abilities where ability_model = ", " and ability_policy_name = ", "\n\t\t\t"])), table, policyName)];
|
|
545
|
-
case 2:
|
|
546
|
-
existingAbilities = _a.sent();
|
|
547
|
-
existingAbility = existingAbilities[0];
|
|
548
|
-
shouldUpdateAbilityTable = false;
|
|
549
|
-
if (!!existingAbility) return [3 /*break*/, 8];
|
|
550
|
-
debug("Creating RLS policy for", roleName, "on", table, "for", operation);
|
|
551
|
-
return [4 /*yield*/, (0, expressions_1.expressionToSQL)(rawExpression, table)];
|
|
552
|
-
case 3:
|
|
553
|
-
expression = _a.sent();
|
|
554
|
-
if (!(operation === "INSERT")) return [3 /*break*/, 5];
|
|
555
|
-
return [4 /*yield*/, tx.$queryRawUnsafe("\n\t\t\t\t\tCREATE POLICY ".concat(policyName, " ON \"public\".\"").concat(table, "\" FOR ").concat(operation, " TO ").concat(roleName, " WITH CHECK (").concat(expression, ");\n\t\t\t\t"))];
|
|
556
|
-
case 4:
|
|
557
|
-
_a.sent();
|
|
558
|
-
return [3 /*break*/, 7];
|
|
559
|
-
case 5: return [4 /*yield*/, tx.$queryRawUnsafe("\n\t\t\t\t\tCREATE POLICY ".concat(policyName, " ON \"public\".\"").concat(table, "\" FOR ").concat(operation, " TO ").concat(roleName, " USING (").concat(expression, ");\n\t\t\t\t"))];
|
|
560
|
-
case 6:
|
|
561
|
-
_a.sent();
|
|
562
|
-
_a.label = 7;
|
|
563
|
-
case 7:
|
|
564
|
-
shouldUpdateAbilityTable = true;
|
|
565
|
-
return [3 /*break*/, 14];
|
|
566
|
-
case 8:
|
|
567
|
-
if (!(existingAbility.ability_expression !== rawExpression.toString())) return [3 /*break*/, 14];
|
|
568
|
-
debug("Updating RLS policy for", roleName, "on", table, "for", operation);
|
|
569
|
-
return [4 /*yield*/, (0, expressions_1.expressionToSQL)(rawExpression, table)];
|
|
570
|
-
case 9:
|
|
571
|
-
expression = _a.sent();
|
|
572
|
-
if (!(operation === "INSERT")) return [3 /*break*/, 11];
|
|
573
|
-
return [4 /*yield*/, tx.$queryRawUnsafe("\n\t\t\t\t\tALTER POLICY ".concat(policyName, " ON \"public\".\"").concat(table, "\" TO ").concat(roleName, " WITH CHECK (").concat(expression, ");\n\t\t\t\t"))];
|
|
574
|
-
case 10:
|
|
575
|
-
_a.sent();
|
|
576
|
-
return [3 /*break*/, 13];
|
|
577
|
-
case 11: return [4 /*yield*/, tx.$queryRawUnsafe("\n\t\t\t\t\tALTER POLICY ".concat(policyName, " ON \"public\".\"").concat(table, "\" TO ").concat(roleName, " USING (").concat(expression, ");\n\t\t\t\t"))];
|
|
578
|
-
case 12:
|
|
579
|
-
_a.sent();
|
|
580
|
-
_a.label = 13;
|
|
581
|
-
case 13:
|
|
582
|
-
shouldUpdateAbilityTable = true;
|
|
583
|
-
_a.label = 14;
|
|
584
|
-
case 14:
|
|
585
|
-
if (!shouldUpdateAbilityTable) return [3 /*break*/, 16];
|
|
586
|
-
return [4 /*yield*/, upsertAbility(tx, {
|
|
587
|
-
ability_model: table,
|
|
588
|
-
ability_name: slug,
|
|
589
|
-
ability_policy_name: policyName,
|
|
590
|
-
ability_description: description !== null && description !== void 0 ? description : "",
|
|
591
|
-
ability_operation: operation,
|
|
592
|
-
// We store the string representation of the expression so that
|
|
593
|
-
// we can compare it later without having to recompute the SQL
|
|
594
|
-
ability_expression: rawExpression.toString(),
|
|
595
|
-
})];
|
|
596
|
-
case 15:
|
|
597
|
-
_a.sent();
|
|
598
|
-
_a.label = 16;
|
|
599
|
-
case 16: return [2 /*return*/];
|
|
600
|
-
}
|
|
601
|
-
});
|
|
602
|
-
}); })];
|
|
661
|
+
abilityExpression = resolvedExpression.abilityExpression, policyExpression = resolvedExpression.policyExpression;
|
|
662
|
+
policyName = roleName;
|
|
663
|
+
quotedPolicyName = this.quoteIdentifier(policyName);
|
|
664
|
+
quotedRoleName = this.quoteIdentifier(roleName);
|
|
665
|
+
quotedTableName = "".concat(this.quoteIdentifier("public"), ".").concat(this.quoteIdentifier(table));
|
|
666
|
+
return [4 /*yield*/, prisma.$queryRaw(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n\t\t\t\tselect * from _yates._yates_abilities where ability_model = ", " and ability_policy_name = ", "\n\t\t\t"], ["\n\t\t\t\tselect * from _yates._yates_abilities where ability_model = ", " and ability_policy_name = ", "\n\t\t\t"])), table, policyName)];
|
|
603
667
|
case 1:
|
|
604
|
-
|
|
605
|
-
|
|
668
|
+
existingAbilities = _a.sent();
|
|
669
|
+
existingAbility = existingAbilities[0];
|
|
670
|
+
shouldUpdateAbilityTable = false;
|
|
671
|
+
if (!!existingAbility) return [3 /*break*/, 6];
|
|
672
|
+
debug("Creating RLS policy for", roleName, "on", table, "for", operation);
|
|
673
|
+
if (!(operation === "INSERT")) return [3 /*break*/, 3];
|
|
674
|
+
return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\t\t\tCREATE POLICY ".concat(quotedPolicyName, " ON ").concat(quotedTableName, " FOR ").concat(operation, " TO ").concat(quotedRoleName, " WITH CHECK (").concat(policyExpression, ");\n\t\t\t\t"))];
|
|
675
|
+
case 2:
|
|
606
676
|
_a.sent();
|
|
607
|
-
return [
|
|
677
|
+
return [3 /*break*/, 5];
|
|
678
|
+
case 3: return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\t\t\tCREATE POLICY ".concat(quotedPolicyName, " ON ").concat(quotedTableName, " FOR ").concat(operation, " TO ").concat(quotedRoleName, " USING (").concat(policyExpression, ");\n\t\t\t\t"))];
|
|
679
|
+
case 4:
|
|
680
|
+
_a.sent();
|
|
681
|
+
_a.label = 5;
|
|
682
|
+
case 5:
|
|
683
|
+
shouldUpdateAbilityTable = true;
|
|
684
|
+
return [3 /*break*/, 11];
|
|
685
|
+
case 6:
|
|
686
|
+
if (!(existingAbility.ability_expression !== abilityExpression)) return [3 /*break*/, 11];
|
|
687
|
+
debug("Updating RLS policy for", roleName, "on", table, "for", operation);
|
|
688
|
+
if (!(operation === "INSERT")) return [3 /*break*/, 8];
|
|
689
|
+
return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\t\t\tALTER POLICY ".concat(quotedPolicyName, " ON ").concat(quotedTableName, " TO ").concat(quotedRoleName, " WITH CHECK (").concat(policyExpression, ");\n\t\t\t\t"))];
|
|
690
|
+
case 7:
|
|
691
|
+
_a.sent();
|
|
692
|
+
return [3 /*break*/, 10];
|
|
693
|
+
case 8: return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\t\t\tALTER POLICY ".concat(quotedPolicyName, " ON ").concat(quotedTableName, " TO ").concat(quotedRoleName, " USING (").concat(policyExpression, ");\n\t\t\t\t"))];
|
|
694
|
+
case 9:
|
|
695
|
+
_a.sent();
|
|
696
|
+
_a.label = 10;
|
|
697
|
+
case 10:
|
|
698
|
+
shouldUpdateAbilityTable = true;
|
|
699
|
+
_a.label = 11;
|
|
700
|
+
case 11:
|
|
701
|
+
if (!shouldUpdateAbilityTable) return [3 /*break*/, 13];
|
|
702
|
+
return [4 /*yield*/, upsertAbility(prisma, {
|
|
703
|
+
ability_model: table,
|
|
704
|
+
ability_name: slug,
|
|
705
|
+
ability_policy_name: policyName,
|
|
706
|
+
ability_description: description !== null && description !== void 0 ? description : "",
|
|
707
|
+
ability_operation: operation,
|
|
708
|
+
// We store the string representation of the expression so that
|
|
709
|
+
// we can compare it later without having to recompute the SQL
|
|
710
|
+
ability_expression: abilityExpression,
|
|
711
|
+
})];
|
|
712
|
+
case 12:
|
|
713
|
+
_a.sent();
|
|
714
|
+
_a.label = 13;
|
|
715
|
+
case 13: return [2 /*return*/];
|
|
608
716
|
}
|
|
609
717
|
});
|
|
610
718
|
}); };
|
|
611
719
|
this.createRoles = function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
612
|
-
var runtimeDataModel, models, diff, defaultAbilities, abilities, models_2, models_2_1, model, ability, operation, roles,
|
|
613
|
-
var
|
|
720
|
+
var _c, txMaxWait, _d, txTimeout, runtimeDataModel, models, diff, defaultAbilities, abilities, models_2, models_2_1, model, ability, operation, roles, setupManifest, setupManifestHash, setupManifestId, resolvedSetupAbilityExpressions, _e, _f, _g, _i, model, _h, _j, _k, _l, slug, ability, roleName, _m, _o;
|
|
721
|
+
var e_9, _p, _q;
|
|
614
722
|
var _this = this;
|
|
615
|
-
var
|
|
616
|
-
var customAbilities = _b.customAbilities, getRoles = _b.getRoles;
|
|
617
|
-
return __generator(this, function (
|
|
618
|
-
switch (
|
|
723
|
+
var _r;
|
|
724
|
+
var customAbilities = _b.customAbilities, getRoles = _b.getRoles, _s = _b.options, options = _s === void 0 ? {} : _s;
|
|
725
|
+
return __generator(this, function (_t) {
|
|
726
|
+
switch (_t.label) {
|
|
619
727
|
case 0: return [4 /*yield*/, this.ensureDatabaseScope()];
|
|
620
728
|
case 1:
|
|
621
|
-
|
|
729
|
+
_t.sent();
|
|
730
|
+
_c = options.txMaxWait, txMaxWait = _c === void 0 ? 30000 : _c, _d = options.txTimeout, txTimeout = _d === void 0 ? 30000 : _d;
|
|
622
731
|
runtimeDataModel = this.inspectRunTimeDataModel();
|
|
623
732
|
models = Object.keys(runtimeDataModel.models).map(function (m) { return runtimeDataModel.models[m].dbName || m; });
|
|
624
733
|
if (customAbilities) {
|
|
@@ -636,7 +745,7 @@ var Yates = /** @class */ (function () {
|
|
|
636
745
|
for (ability in customAbilities[model]) {
|
|
637
746
|
operation =
|
|
638
747
|
// biome-ignore lint/style/noNonNullAssertion: TODO fix this
|
|
639
|
-
(
|
|
748
|
+
(_r = customAbilities[model][ability]) === null || _r === void 0 ? void 0 : _r.operation;
|
|
640
749
|
if (!operation)
|
|
641
750
|
continue;
|
|
642
751
|
// biome-ignore lint/style/noNonNullAssertion: TODO fix this
|
|
@@ -645,26 +754,127 @@ var Yates = /** @class */ (function () {
|
|
|
645
754
|
}
|
|
646
755
|
}
|
|
647
756
|
}
|
|
648
|
-
catch (
|
|
757
|
+
catch (e_9_1) { e_9 = { error: e_9_1 }; }
|
|
649
758
|
finally {
|
|
650
759
|
try {
|
|
651
760
|
if (models_2_1 && !models_2_1.done && (_p = models_2.return)) _p.call(models_2);
|
|
652
761
|
}
|
|
653
|
-
finally { if (
|
|
762
|
+
finally { if (e_9) throw e_9.error; }
|
|
654
763
|
}
|
|
655
764
|
roles = getRoles(abilities);
|
|
656
|
-
|
|
765
|
+
setupManifest = this.createSetupManifest(abilities, roles);
|
|
766
|
+
setupManifestHash = this.createSetupManifestHash(setupManifest);
|
|
767
|
+
setupManifestId = this.getSetupManifestId();
|
|
768
|
+
return [4 /*yield*/, this.getStoredSetupManifestHash(setupManifestId)];
|
|
657
769
|
case 2:
|
|
658
|
-
|
|
659
|
-
|
|
770
|
+
if ((_t.sent()) ===
|
|
771
|
+
setupManifestHash) {
|
|
772
|
+
debug("Yates setup manifest unchanged; skipping role reconciliation");
|
|
773
|
+
return [2 /*return*/];
|
|
774
|
+
}
|
|
775
|
+
resolvedSetupAbilityExpressions = {};
|
|
776
|
+
_e = abilities;
|
|
777
|
+
_f = [];
|
|
778
|
+
for (_g in _e)
|
|
779
|
+
_f.push(_g);
|
|
780
|
+
_i = 0;
|
|
781
|
+
_t.label = 3;
|
|
660
782
|
case 3:
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
783
|
+
if (!(_i < _f.length)) return [3 /*break*/, 8];
|
|
784
|
+
_g = _f[_i];
|
|
785
|
+
if (!(_g in _e)) return [3 /*break*/, 7];
|
|
786
|
+
model = _g;
|
|
787
|
+
_h = abilities[model];
|
|
788
|
+
_j = [];
|
|
789
|
+
for (_k in _h)
|
|
790
|
+
_j.push(_k);
|
|
791
|
+
_l = 0;
|
|
792
|
+
_t.label = 4;
|
|
665
793
|
case 4:
|
|
666
|
-
|
|
667
|
-
|
|
794
|
+
if (!(_l < _j.length)) return [3 /*break*/, 7];
|
|
795
|
+
_k = _j[_l];
|
|
796
|
+
if (!(_k in _h)) return [3 /*break*/, 6];
|
|
797
|
+
slug = _k;
|
|
798
|
+
ability =
|
|
799
|
+
// biome-ignore lint/style/noNonNullAssertion: TODO fix this
|
|
800
|
+
abilities[model][slug];
|
|
801
|
+
if (!ability.expression) {
|
|
802
|
+
return [3 /*break*/, 6];
|
|
803
|
+
}
|
|
804
|
+
roleName = this.createAbilityName(model, slug);
|
|
805
|
+
_m = resolvedSetupAbilityExpressions;
|
|
806
|
+
_o = roleName;
|
|
807
|
+
_q = {
|
|
808
|
+
abilityExpression: ability.expression.toString()
|
|
809
|
+
};
|
|
810
|
+
return [4 /*yield*/, (0, expressions_1.expressionToSQL)(ability.expression, model)];
|
|
811
|
+
case 5:
|
|
812
|
+
_m[_o] = (_q.policyExpression = _t.sent(),
|
|
813
|
+
_q);
|
|
814
|
+
_t.label = 6;
|
|
815
|
+
case 6:
|
|
816
|
+
_l++;
|
|
817
|
+
return [3 /*break*/, 4];
|
|
818
|
+
case 7:
|
|
819
|
+
_i++;
|
|
820
|
+
return [3 /*break*/, 3];
|
|
821
|
+
case 8: return [4 /*yield*/, this.prisma.$transaction(function (tx) { return __awaiter(_this, void 0, void 0, function () {
|
|
822
|
+
var prisma;
|
|
823
|
+
return __generator(this, function (_a) {
|
|
824
|
+
switch (_a.label) {
|
|
825
|
+
case 0:
|
|
826
|
+
prisma = tx;
|
|
827
|
+
return [4 /*yield*/, takeLock(prisma)];
|
|
828
|
+
case 1:
|
|
829
|
+
_a.sent();
|
|
830
|
+
return [4 /*yield*/, this.getStoredSetupManifestHash(setupManifestId, prisma)];
|
|
831
|
+
case 2:
|
|
832
|
+
if ((_a.sent()) ===
|
|
833
|
+
setupManifestHash) {
|
|
834
|
+
debug("Yates setup manifest unchanged after acquiring lock; skipping role reconciliation");
|
|
835
|
+
return [2 /*return*/];
|
|
836
|
+
}
|
|
837
|
+
return [4 /*yield*/, this.reconcileRoles({
|
|
838
|
+
abilities: abilities,
|
|
839
|
+
defaultAbilities: defaultAbilities,
|
|
840
|
+
prisma: prisma,
|
|
841
|
+
resolvedSetupAbilityExpressions: resolvedSetupAbilityExpressions,
|
|
842
|
+
roles: roles,
|
|
843
|
+
})];
|
|
844
|
+
case 3:
|
|
845
|
+
_a.sent();
|
|
846
|
+
return [4 /*yield*/, this.upsertSetupManifestHash(setupManifestId, setupManifestHash, prisma)];
|
|
847
|
+
case 4:
|
|
848
|
+
_a.sent();
|
|
849
|
+
return [2 /*return*/];
|
|
850
|
+
}
|
|
851
|
+
});
|
|
852
|
+
}); }, { maxWait: txMaxWait, timeout: txTimeout })];
|
|
853
|
+
case 9:
|
|
854
|
+
_t.sent();
|
|
855
|
+
return [2 /*return*/];
|
|
856
|
+
}
|
|
857
|
+
});
|
|
858
|
+
}); };
|
|
859
|
+
this.reconcileRoles = function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
|
|
860
|
+
var pgRoles, existingAbilities, pgPolicies, migratedAbilities, migratedAbilities_1, migratedAbilities_1_1, migratedAbility, e_10_1, _c, _d, _e, _i, model, table, _loop_2, this_1, _f, _g, _h, _j, slug, _loop_3, this_2, _k, _l, _m, _o, key;
|
|
861
|
+
var e_10, _p;
|
|
862
|
+
var _this = this;
|
|
863
|
+
var abilities = _b.abilities, defaultAbilities = _b.defaultAbilities, prisma = _b.prisma, resolvedSetupAbilityExpressions = _b.resolvedSetupAbilityExpressions, roles = _b.roles;
|
|
864
|
+
return __generator(this, function (_q) {
|
|
865
|
+
switch (_q.label) {
|
|
866
|
+
case 0: return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\tselect * from pg_catalog.pg_roles where rolname like 'yates%'\n\t\t")];
|
|
867
|
+
case 1:
|
|
868
|
+
pgRoles = _q.sent();
|
|
869
|
+
return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\tselect * from _yates._yates_abilities;\n\t\t")];
|
|
870
|
+
case 2:
|
|
871
|
+
existingAbilities = _q.sent();
|
|
872
|
+
if (!(existingAbilities.length === 0)) return [3 /*break*/, 12];
|
|
873
|
+
debug('No existing abilities found, importing from "pg_policies" table');
|
|
874
|
+
return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\t\tselect * from pg_catalog.pg_policies where policyname like 'yates%'\n\t\t\t")];
|
|
875
|
+
case 3:
|
|
876
|
+
pgPolicies = _q.sent();
|
|
877
|
+
if (!pgPolicies.length) return [3 /*break*/, 12];
|
|
668
878
|
migratedAbilities = pgPolicies.map(function (policy) {
|
|
669
879
|
var _a, _b;
|
|
670
880
|
return ({
|
|
@@ -676,36 +886,55 @@ var Yates = /** @class */ (function () {
|
|
|
676
886
|
ability_expression: (_b = (_a = policy.qual) !== null && _a !== void 0 ? _a : policy.with_check) !== null && _b !== void 0 ? _b : "",
|
|
677
887
|
});
|
|
678
888
|
});
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
889
|
+
_q.label = 4;
|
|
890
|
+
case 4:
|
|
891
|
+
_q.trys.push([4, 9, 10, 11]);
|
|
892
|
+
migratedAbilities_1 = __values(migratedAbilities), migratedAbilities_1_1 = migratedAbilities_1.next();
|
|
893
|
+
_q.label = 5;
|
|
682
894
|
case 5:
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
895
|
+
if (!!migratedAbilities_1_1.done) return [3 /*break*/, 8];
|
|
896
|
+
migratedAbility = migratedAbilities_1_1.value;
|
|
897
|
+
return [4 /*yield*/, upsertAbility(prisma, migratedAbility)];
|
|
686
898
|
case 6:
|
|
899
|
+
_q.sent();
|
|
900
|
+
_q.label = 7;
|
|
901
|
+
case 7:
|
|
902
|
+
migratedAbilities_1_1 = migratedAbilities_1.next();
|
|
903
|
+
return [3 /*break*/, 5];
|
|
904
|
+
case 8: return [3 /*break*/, 11];
|
|
905
|
+
case 9:
|
|
906
|
+
e_10_1 = _q.sent();
|
|
907
|
+
e_10 = { error: e_10_1 };
|
|
908
|
+
return [3 /*break*/, 11];
|
|
909
|
+
case 10:
|
|
910
|
+
try {
|
|
911
|
+
if (migratedAbilities_1_1 && !migratedAbilities_1_1.done && (_p = migratedAbilities_1.return)) _p.call(migratedAbilities_1);
|
|
912
|
+
}
|
|
913
|
+
finally { if (e_10) throw e_10.error; }
|
|
914
|
+
return [7 /*endfinally*/];
|
|
915
|
+
case 11:
|
|
916
|
+
existingAbilities.push.apply(existingAbilities, __spreadArray([], __read(migratedAbilities), false));
|
|
917
|
+
_q.label = 12;
|
|
918
|
+
case 12:
|
|
687
919
|
_c = abilities;
|
|
688
920
|
_d = [];
|
|
689
921
|
for (_e in _c)
|
|
690
922
|
_d.push(_e);
|
|
691
923
|
_i = 0;
|
|
692
|
-
|
|
693
|
-
case
|
|
694
|
-
if (!(_i < _d.length)) return [3 /*break*/,
|
|
924
|
+
_q.label = 13;
|
|
925
|
+
case 13:
|
|
926
|
+
if (!(_i < _d.length)) return [3 /*break*/, 19];
|
|
695
927
|
_e = _d[_i];
|
|
696
|
-
if (!(_e in _c)) return [3 /*break*/,
|
|
928
|
+
if (!(_e in _c)) return [3 /*break*/, 18];
|
|
697
929
|
model = _e;
|
|
698
930
|
table = model;
|
|
699
|
-
return [4 /*yield*/, this.prisma
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
])];
|
|
703
|
-
case 8:
|
|
704
|
-
_r.sent();
|
|
931
|
+
return [4 /*yield*/, this.enableRowLevelSecurityIfNeeded(prisma, table)];
|
|
932
|
+
case 14:
|
|
933
|
+
_q.sent();
|
|
705
934
|
_loop_2 = function (slug) {
|
|
706
|
-
var ability, roleName;
|
|
707
|
-
return __generator(this, function (
|
|
708
|
-
switch (
|
|
935
|
+
var ability, roleName, resolvedExpression;
|
|
936
|
+
return __generator(this, function (_r) {
|
|
937
|
+
switch (_r.label) {
|
|
709
938
|
case 0:
|
|
710
939
|
ability =
|
|
711
940
|
// biome-ignore lint/style/noNonNullAssertion: TODO fix this
|
|
@@ -716,22 +945,25 @@ var Yates = /** @class */ (function () {
|
|
|
716
945
|
roleName = this_1.createAbilityName(model, slug);
|
|
717
946
|
if (!pgRoles.find(function (role) { return role.rolname === roleName; })) return [3 /*break*/, 1];
|
|
718
947
|
debug("Role already exists", roleName, model, slug);
|
|
719
|
-
return [3 /*break*/,
|
|
720
|
-
case 1: return [4 /*yield*/,
|
|
721
|
-
takeLock(this_1.prisma),
|
|
722
|
-
this_1.prisma.$queryRawUnsafe("\n\t\t\t\t\t\tdo\n\t\t\t\t\t\t$$\n\t\t\t\t\t\tbegin\n\t\t\t\t\t\tif not exists (select * from pg_catalog.pg_roles where rolname = '".concat(roleName, "') then \n\t\t\t\t\t\t\tcreate role ").concat(roleName, ";\n\t\t\t\t\t\tend if;\n\t\t\t\t\t\tend\n\t\t\t\t\t\t$$\n\t\t\t\t\t\t;\n\t\t\t\t\t")),
|
|
723
|
-
this_1.prisma.$queryRawUnsafe("\n\t\t\t\t\t\tGRANT ".concat(ability.operation, " ON \"").concat(table, "\" TO ").concat(roleName, ";\n\t\t\t\t\t")),
|
|
724
|
-
])];
|
|
948
|
+
return [3 /*break*/, 4];
|
|
949
|
+
case 1: return [4 /*yield*/, prisma.$executeRawUnsafe("\n\t\t\t\t\t\tdo\n\t\t\t\t\t\t$$\n\t\t\t\t\t\tbegin\n\t\t\t\t\t\tif not exists (select * from pg_catalog.pg_roles where rolname = '".concat(roleName, "') then \n\t\t\t\t\t\t\tcreate role ").concat(roleName, ";\n\t\t\t\t\t\tend if;\n\t\t\t\t\t\tend\n\t\t\t\t\t\t$$\n\t\t\t\t\t\t;\n\t\t\t\t\t"))];
|
|
725
950
|
case 2:
|
|
726
|
-
|
|
727
|
-
|
|
951
|
+
_r.sent();
|
|
952
|
+
return [4 /*yield*/, prisma.$executeRawUnsafe("\n\t\t\t\t\t\tGRANT ".concat(ability.operation, " ON ").concat(this_1.quoteIdentifier("public"), ".").concat(this_1.quoteIdentifier(table), " TO ").concat(this_1.quoteIdentifier(roleName), ";\n\t\t\t\t\t"))];
|
|
728
953
|
case 3:
|
|
729
|
-
|
|
730
|
-
|
|
954
|
+
_r.sent();
|
|
955
|
+
_r.label = 4;
|
|
731
956
|
case 4:
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
957
|
+
if (!ability.expression) return [3 /*break*/, 6];
|
|
958
|
+
resolvedExpression = resolvedSetupAbilityExpressions[roleName];
|
|
959
|
+
if (!resolvedExpression) {
|
|
960
|
+
throw new Error("Missing resolved expression for ".concat(model, ".").concat(slug, " (").concat(roleName, ")"));
|
|
961
|
+
}
|
|
962
|
+
return [4 /*yield*/, this_1.setRLS(prisma, table, roleName, slug, ability, resolvedExpression)];
|
|
963
|
+
case 5:
|
|
964
|
+
_r.sent();
|
|
965
|
+
_r.label = 6;
|
|
966
|
+
case 6: return [2 /*return*/];
|
|
735
967
|
}
|
|
736
968
|
});
|
|
737
969
|
};
|
|
@@ -741,30 +973,31 @@ var Yates = /** @class */ (function () {
|
|
|
741
973
|
for (_h in _f)
|
|
742
974
|
_g.push(_h);
|
|
743
975
|
_j = 0;
|
|
744
|
-
|
|
745
|
-
case
|
|
746
|
-
if (!(_j < _g.length)) return [3 /*break*/,
|
|
976
|
+
_q.label = 15;
|
|
977
|
+
case 15:
|
|
978
|
+
if (!(_j < _g.length)) return [3 /*break*/, 18];
|
|
747
979
|
_h = _g[_j];
|
|
748
|
-
if (!(_h in _f)) return [3 /*break*/,
|
|
980
|
+
if (!(_h in _f)) return [3 /*break*/, 17];
|
|
749
981
|
slug = _h;
|
|
750
982
|
return [5 /*yield**/, _loop_2(slug)];
|
|
751
|
-
case
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
case
|
|
983
|
+
case 16:
|
|
984
|
+
_q.sent();
|
|
985
|
+
_q.label = 17;
|
|
986
|
+
case 17:
|
|
755
987
|
_j++;
|
|
756
|
-
return [3 /*break*/,
|
|
757
|
-
case
|
|
988
|
+
return [3 /*break*/, 15];
|
|
989
|
+
case 18:
|
|
758
990
|
_i++;
|
|
759
|
-
return [3 /*break*/,
|
|
760
|
-
case
|
|
991
|
+
return [3 /*break*/, 13];
|
|
992
|
+
case 19:
|
|
761
993
|
_loop_3 = function (key) {
|
|
762
|
-
var role, wildCardAbilities, roleAbilities, rlsRoles, userRoles, oldRoles, policies;
|
|
994
|
+
var role, wildCardAbilities, roleAbilities, rlsRoles, userRoles, oldRoles, policies, policies_1, policies_1_1, oldPolicy, e_11_1;
|
|
995
|
+
var e_11, _s;
|
|
763
996
|
return __generator(this, function (_t) {
|
|
764
997
|
switch (_t.label) {
|
|
765
998
|
case 0:
|
|
766
999
|
role = this_2.createRoleName(key);
|
|
767
|
-
return [4 /*yield*/,
|
|
1000
|
+
return [4 /*yield*/, prisma.$executeRawUnsafe("\n\t\t\t\tdo\n\t\t\t\t$$\n\t\t\t\tbegin\n\t\t\t\tif not exists (select * from pg_catalog.pg_roles where rolname = '".concat(role, "') then \n\t\t\t\t\tcreate role ").concat(role, ";\n\t\t\t\tend if;\n\t\t\t\tend\n\t\t\t\t$$\n\t\t\t\t;\n\t\t\t"))];
|
|
768
1001
|
case 1:
|
|
769
1002
|
_t.sent();
|
|
770
1003
|
wildCardAbilities = (0, flatMap_1.default)(defaultAbilities, function (model, modelName) {
|
|
@@ -782,19 +1015,22 @@ var Yates = /** @class */ (function () {
|
|
|
782
1015
|
debug("Setting up role", key, role, "with abilities", rlsRoles.join(", "));
|
|
783
1016
|
// Note: We need to GRANT all on schema public so that we can resolve relation queries with prisma, as they will sometimes use a join table.
|
|
784
1017
|
// This is not ideal, but because we are using RLS, it's not a security risk. Any table with RLS also needs a corresponding policy for the role to have access.
|
|
785
|
-
return [4 /*yield*/,
|
|
786
|
-
takeLock(this_2.prisma),
|
|
787
|
-
this_2.prisma.$executeRawUnsafe("GRANT ALL ON ALL TABLES IN SCHEMA public TO ".concat(role, ";")),
|
|
788
|
-
this_2.prisma.$executeRawUnsafe("\n\t\t\t\t\tGRANT ALL ON ALL SEQUENCES IN SCHEMA public TO ".concat(role, ";\n\t\t\t\t")),
|
|
789
|
-
this_2.prisma.$executeRawUnsafe("\n\t\t\t\t\tGRANT ALL ON SCHEMA public TO ".concat(role, ";\n\t\t\t\t")),
|
|
790
|
-
this_2.prisma.$queryRawUnsafe("GRANT ".concat(rlsRoles.join(", "), " TO ").concat(role)),
|
|
791
|
-
])];
|
|
1018
|
+
return [4 /*yield*/, prisma.$executeRawUnsafe("GRANT ALL ON ALL TABLES IN SCHEMA public TO ".concat(role, ";"))];
|
|
792
1019
|
case 2:
|
|
793
1020
|
// Note: We need to GRANT all on schema public so that we can resolve relation queries with prisma, as they will sometimes use a join table.
|
|
794
1021
|
// This is not ideal, but because we are using RLS, it's not a security risk. Any table with RLS also needs a corresponding policy for the role to have access.
|
|
795
1022
|
_t.sent();
|
|
796
|
-
return [4 /*yield*/,
|
|
1023
|
+
return [4 /*yield*/, prisma.$executeRawUnsafe("\n\t\t\t\t\tGRANT ALL ON ALL SEQUENCES IN SCHEMA public TO ".concat(role, ";\n\t\t\t\t"))];
|
|
797
1024
|
case 3:
|
|
1025
|
+
_t.sent();
|
|
1026
|
+
return [4 /*yield*/, prisma.$executeRawUnsafe("\n\t\t\t\t\tGRANT ALL ON SCHEMA public TO ".concat(role, ";\n\t\t\t\t"))];
|
|
1027
|
+
case 4:
|
|
1028
|
+
_t.sent();
|
|
1029
|
+
return [4 /*yield*/, prisma.$queryRawUnsafe("GRANT ".concat(rlsRoles.join(", "), " TO ").concat(role))];
|
|
1030
|
+
case 5:
|
|
1031
|
+
_t.sent();
|
|
1032
|
+
return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\t\tWITH RECURSIVE cte AS (\n\t\t\t\t\tSELECT oid FROM pg_roles where rolname = '".concat(role, "'\n\t\t\t\t\tUNION ALL\n\t\t\t\t\tSELECT m.roleid\n\t\t\t\t\tFROM cte\n\t\t\t\t\tJOIN pg_auth_members m ON m.member = cte.oid\n\t\t\t\t\t)\n\t\t\t\tSELECT oid, oid::regrole::text AS rolename FROM cte where oid::regrole::text != '").concat(role, "'; \n\t\t"))];
|
|
1033
|
+
case 6:
|
|
798
1034
|
userRoles = _t.sent();
|
|
799
1035
|
oldRoles = userRoles
|
|
800
1036
|
.filter(function (_a) {
|
|
@@ -805,32 +1041,52 @@ var Yates = /** @class */ (function () {
|
|
|
805
1041
|
var rolename = _a.rolename;
|
|
806
1042
|
return rolename;
|
|
807
1043
|
});
|
|
808
|
-
if (!oldRoles.length) return [3 /*break*/,
|
|
1044
|
+
if (!oldRoles.length) return [3 /*break*/, 18];
|
|
809
1045
|
// Now revoke old roles from the user role
|
|
810
1046
|
debug("Revoking old roles", key, role, oldRoles.join(", "));
|
|
811
|
-
return [4 /*yield*/,
|
|
812
|
-
case
|
|
1047
|
+
return [4 /*yield*/, prisma.$executeRawUnsafe("REVOKE ".concat(oldRoles.join(", "), " FROM ").concat(role))];
|
|
1048
|
+
case 7:
|
|
813
1049
|
_t.sent();
|
|
814
|
-
return [4 /*yield*/,
|
|
1050
|
+
return [4 /*yield*/, prisma.$queryRawUnsafe("SELECT * FROM pg_catalog.pg_policies WHERE policyname IN (".concat(oldRoles
|
|
815
1051
|
.map(function (or) { return "'".concat(or, "'"); })
|
|
816
1052
|
.join(", "), ")"))];
|
|
817
|
-
case
|
|
1053
|
+
case 8:
|
|
818
1054
|
policies = _t.sent();
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
case
|
|
1055
|
+
_t.label = 9;
|
|
1056
|
+
case 9:
|
|
1057
|
+
_t.trys.push([9, 14, 15, 16]);
|
|
1058
|
+
policies_1 = (e_11 = void 0, __values(policies)), policies_1_1 = policies_1.next();
|
|
1059
|
+
_t.label = 10;
|
|
1060
|
+
case 10:
|
|
1061
|
+
if (!!policies_1_1.done) return [3 /*break*/, 13];
|
|
1062
|
+
oldPolicy = policies_1_1.value;
|
|
1063
|
+
return [4 /*yield*/, prisma.$executeRawUnsafe("DROP POLICY ".concat(oldPolicy.policyname, " ON \"").concat(oldPolicy.tablename, "\""))];
|
|
1064
|
+
case 11:
|
|
825
1065
|
_t.sent();
|
|
1066
|
+
_t.label = 12;
|
|
1067
|
+
case 12:
|
|
1068
|
+
policies_1_1 = policies_1.next();
|
|
1069
|
+
return [3 /*break*/, 10];
|
|
1070
|
+
case 13: return [3 /*break*/, 16];
|
|
1071
|
+
case 14:
|
|
1072
|
+
e_11_1 = _t.sent();
|
|
1073
|
+
e_11 = { error: e_11_1 };
|
|
1074
|
+
return [3 /*break*/, 16];
|
|
1075
|
+
case 15:
|
|
1076
|
+
try {
|
|
1077
|
+
if (policies_1_1 && !policies_1_1.done && (_s = policies_1.return)) _s.call(policies_1);
|
|
1078
|
+
}
|
|
1079
|
+
finally { if (e_11) throw e_11.error; }
|
|
1080
|
+
return [7 /*endfinally*/];
|
|
1081
|
+
case 16:
|
|
826
1082
|
debug("Revoked old rows from ability table", oldRoles.join(", "));
|
|
827
|
-
return [4 /*yield*/,
|
|
1083
|
+
return [4 /*yield*/, prisma.$executeRawUnsafe("DELETE FROM _yates._yates_abilities WHERE ability_policy_name IN (".concat(oldRoles
|
|
828
1084
|
.map(function (or) { return "'".concat(or, "'"); })
|
|
829
1085
|
.join(", "), ")"))];
|
|
830
|
-
case
|
|
1086
|
+
case 17:
|
|
831
1087
|
_t.sent();
|
|
832
|
-
_t.label =
|
|
833
|
-
case
|
|
1088
|
+
_t.label = 18;
|
|
1089
|
+
case 18: return [2 /*return*/];
|
|
834
1090
|
}
|
|
835
1091
|
});
|
|
836
1092
|
};
|
|
@@ -840,20 +1096,20 @@ var Yates = /** @class */ (function () {
|
|
|
840
1096
|
for (_m in _k)
|
|
841
1097
|
_l.push(_m);
|
|
842
1098
|
_o = 0;
|
|
843
|
-
|
|
844
|
-
case
|
|
845
|
-
if (!(_o < _l.length)) return [3 /*break*/,
|
|
1099
|
+
_q.label = 20;
|
|
1100
|
+
case 20:
|
|
1101
|
+
if (!(_o < _l.length)) return [3 /*break*/, 23];
|
|
846
1102
|
_m = _l[_o];
|
|
847
|
-
if (!(_m in _k)) return [3 /*break*/,
|
|
1103
|
+
if (!(_m in _k)) return [3 /*break*/, 22];
|
|
848
1104
|
key = _m;
|
|
849
1105
|
return [5 /*yield**/, _loop_3(key)];
|
|
850
|
-
case
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
case
|
|
1106
|
+
case 21:
|
|
1107
|
+
_q.sent();
|
|
1108
|
+
_q.label = 22;
|
|
1109
|
+
case 22:
|
|
854
1110
|
_o++;
|
|
855
|
-
return [3 /*break*/,
|
|
856
|
-
case
|
|
1111
|
+
return [3 /*break*/, 20];
|
|
1112
|
+
case 23: return [2 /*return*/];
|
|
857
1113
|
}
|
|
858
1114
|
});
|
|
859
1115
|
}); };
|
|
@@ -933,6 +1189,7 @@ var setup = function (params) { return __awaiter(void 0, void 0, void 0, functio
|
|
|
933
1189
|
return [4 /*yield*/, yates.createRoles({
|
|
934
1190
|
customAbilities: customAbilities,
|
|
935
1191
|
getRoles: getRoles,
|
|
1192
|
+
options: params.options,
|
|
936
1193
|
})];
|
|
937
1194
|
case 2:
|
|
938
1195
|
_a.sent();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cerebruminc/yates",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-beta.dangerous.0d42031",
|
|
4
4
|
"description": "Role based access control for Prisma Apps",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -48,4 +48,4 @@
|
|
|
48
48
|
"@prisma/client": "^5.11.0",
|
|
49
49
|
"prisma": "^5.11.0"
|
|
50
50
|
}
|
|
51
|
-
}
|
|
51
|
+
}
|