@cerebruminc/yates 3.5.2-beta.dangerous.98d3a33 → 3.5.2-beta.dangerous.a7d7ee8
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/dist/index.d.ts +9 -0
- package/dist/index.js +364 -151
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { Prisma, PrismaClient } from "@prisma/client";
|
|
2
2
|
import { Expression } from "./expressions";
|
|
3
3
|
declare const VALID_OPERATIONS: readonly ["SELECT", "UPDATE", "INSERT", "DELETE"];
|
|
4
|
+
export interface ErrorWithBatchIndex {
|
|
5
|
+
batchRequestIdx?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function hasBatchIndex(value: object): value is Required<ErrorWithBatchIndex>;
|
|
8
|
+
export declare function waitForBatch<T extends PromiseLike<unknown>[]>(promises: T): Promise<{
|
|
9
|
+
[K in keyof T]: Awaited<T[K]>;
|
|
10
|
+
}>;
|
|
11
|
+
export declare function getLockCountPromise<V = void>(knock: number, cb?: () => V | void): PromiseLike<void | V>;
|
|
4
12
|
type Operation = (typeof VALID_OPERATIONS)[number];
|
|
5
13
|
export type Models = Prisma.ModelName;
|
|
6
14
|
interface ClientOptions {
|
|
@@ -44,6 +52,7 @@ declare module "@prisma/client" {
|
|
|
44
52
|
}
|
|
45
53
|
export declare const createAbilityName: (model: string, ability: string) => string;
|
|
46
54
|
export declare const createRoleName: (name: string) => string;
|
|
55
|
+
export declare function getBatchId(query: any): string | undefined;
|
|
47
56
|
export declare const createClient: (prisma: PrismaClient, getContext: GetContextFn, options?: ClientOptions) => import("@prisma/client/runtime/library").DynamicClientExtensionThis<Prisma.TypeMap<import("@prisma/client/runtime/library").InternalArgs & {
|
|
48
57
|
result: {};
|
|
49
58
|
model: {};
|
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;
|
|
@@ -100,6 +89,17 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
100
89
|
}
|
|
101
90
|
return ar;
|
|
102
91
|
};
|
|
92
|
+
var __values = (this && this.__values) || function(o) {
|
|
93
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
94
|
+
if (m) return m.call(o);
|
|
95
|
+
if (o && typeof o.length === "number") return {
|
|
96
|
+
next: function () {
|
|
97
|
+
if (o && i >= o.length) o = void 0;
|
|
98
|
+
return { value: o && o[i++], done: !o };
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
102
|
+
};
|
|
103
103
|
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
104
104
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
105
105
|
if (ar || !(i in from)) {
|
|
@@ -113,7 +113,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
113
113
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
114
114
|
};
|
|
115
115
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
116
|
-
exports.setup = exports.createRoles = exports.createClient = exports.createRoleName = exports.createAbilityName = void 0;
|
|
116
|
+
exports.setup = exports.createRoles = exports.createClient = exports.getBatchId = exports.createRoleName = exports.createAbilityName = exports.getLockCountPromise = exports.waitForBatch = exports.hasBatchIndex = void 0;
|
|
117
117
|
var crypto = __importStar(require("crypto"));
|
|
118
118
|
var debug_1 = __importDefault(require("debug"));
|
|
119
119
|
var difference_1 = __importDefault(require("lodash/difference"));
|
|
@@ -123,6 +123,86 @@ var toPairs_1 = __importDefault(require("lodash/toPairs"));
|
|
|
123
123
|
var expressions_1 = require("./expressions");
|
|
124
124
|
var VALID_OPERATIONS = ["SELECT", "UPDATE", "INSERT", "DELETE"];
|
|
125
125
|
var debug = (0, debug_1.default)("yates");
|
|
126
|
+
var BatchTxIdCounter = {
|
|
127
|
+
id: 0,
|
|
128
|
+
nextId: function () {
|
|
129
|
+
return ++this.id;
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
function hasBatchIndex(value) {
|
|
133
|
+
// @ts-ignore
|
|
134
|
+
return typeof value["batchRequestIdx"] === "number";
|
|
135
|
+
}
|
|
136
|
+
exports.hasBatchIndex = hasBatchIndex;
|
|
137
|
+
function waitForBatch(promises) {
|
|
138
|
+
if (promises.length === 0) {
|
|
139
|
+
return Promise.resolve([]);
|
|
140
|
+
}
|
|
141
|
+
return new Promise(function (resolve, reject) {
|
|
142
|
+
var successfulResults = new Array(promises.length);
|
|
143
|
+
var bestError = null;
|
|
144
|
+
var done = false;
|
|
145
|
+
var settledPromisesCount = 0;
|
|
146
|
+
var settleOnePromise = function () {
|
|
147
|
+
if (done) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
settledPromisesCount++;
|
|
151
|
+
if (settledPromisesCount === promises.length) {
|
|
152
|
+
done = true;
|
|
153
|
+
if (bestError) {
|
|
154
|
+
reject(bestError);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
resolve(successfulResults);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
var immediatelyReject = function (error) {
|
|
162
|
+
if (!done) {
|
|
163
|
+
done = true;
|
|
164
|
+
reject(error);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
var _loop_1 = function (i) {
|
|
168
|
+
promises[i].then(function (result) {
|
|
169
|
+
successfulResults[i] = result;
|
|
170
|
+
settleOnePromise();
|
|
171
|
+
}, function (error) {
|
|
172
|
+
if (!hasBatchIndex(error)) {
|
|
173
|
+
immediatelyReject(error);
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
if (error.batchRequestIdx === i) {
|
|
177
|
+
immediatelyReject(error);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
if (!bestError) {
|
|
181
|
+
bestError = error;
|
|
182
|
+
}
|
|
183
|
+
settleOnePromise();
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
for (var i = 0; i < promises.length; i++) {
|
|
188
|
+
_loop_1(i);
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
exports.waitForBatch = waitForBatch;
|
|
193
|
+
function getLockCountPromise(knock, cb) {
|
|
194
|
+
if (cb === void 0) { cb = function () { }; }
|
|
195
|
+
var resolve;
|
|
196
|
+
var lock = new Promise(function (res) { return (resolve = res); });
|
|
197
|
+
return {
|
|
198
|
+
then: function (onFulfilled) {
|
|
199
|
+
if (--knock === 0)
|
|
200
|
+
resolve(cb());
|
|
201
|
+
return onFulfilled === null || onFulfilled === void 0 ? void 0 : onFulfilled(lock);
|
|
202
|
+
},
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
exports.getLockCountPromise = getLockCountPromise;
|
|
126
206
|
/**
|
|
127
207
|
* This function is used to take a lock that is automatically released at the end of the current transaction.
|
|
128
208
|
* This is very convenient for ensuring we don't hit concurrency issues when running setup code.
|
|
@@ -180,161 +260,294 @@ var createRoleName = function (name) {
|
|
|
180
260
|
return sanitizeSlug(hashWithPrefix("yates_role_", "".concat(name)));
|
|
181
261
|
};
|
|
182
262
|
exports.createRoleName = createRoleName;
|
|
263
|
+
// @ts-ignore
|
|
264
|
+
function getBatchId(query) {
|
|
265
|
+
if (query.action !== "findUnique" && query.action !== "findUniqueOrThrow") {
|
|
266
|
+
return undefined;
|
|
267
|
+
}
|
|
268
|
+
var parts = [];
|
|
269
|
+
if (query.modelName) {
|
|
270
|
+
parts.push(query.modelName);
|
|
271
|
+
}
|
|
272
|
+
if (query.query.arguments) {
|
|
273
|
+
parts.push(buildKeysString(query.query.arguments));
|
|
274
|
+
}
|
|
275
|
+
parts.push(buildKeysString(query.query.selection));
|
|
276
|
+
return parts.join("");
|
|
277
|
+
}
|
|
278
|
+
exports.getBatchId = getBatchId;
|
|
279
|
+
function buildKeysString(obj) {
|
|
280
|
+
var keysArray = Object.keys(obj)
|
|
281
|
+
.sort()
|
|
282
|
+
.map(function (key) {
|
|
283
|
+
// @ts-ignore
|
|
284
|
+
var value = obj[key];
|
|
285
|
+
if (typeof value === "object" && value !== null) {
|
|
286
|
+
return "(".concat(key, " ").concat(buildKeysString(value), ")");
|
|
287
|
+
}
|
|
288
|
+
return key;
|
|
289
|
+
});
|
|
290
|
+
return "(".concat(keysArray.join(" "), ")");
|
|
291
|
+
}
|
|
183
292
|
// This uses client extensions to set the role and context for the current user so that RLS can be applied
|
|
184
293
|
var createClient = function (prisma, getContext, options) {
|
|
185
294
|
if (options === void 0) { options = {}; }
|
|
186
295
|
// Set default options
|
|
187
296
|
var _a = options.txMaxWait, txMaxWait = _a === void 0 ? 30000 : _a, _b = options.txTimeout, txTimeout = _b === void 0 ? 30000 : _b;
|
|
297
|
+
// @ts-ignore
|
|
298
|
+
prisma._requestHandler.dataloader.options.batchBy = function (n) {
|
|
299
|
+
var _a, _b, _c;
|
|
300
|
+
console.log("batch by yates id?", (_a = n.transaction) === null || _a === void 0 ? void 0 : _a.yates_id);
|
|
301
|
+
console.log("pq", getBatchId(n.protocolQuery));
|
|
302
|
+
return ((_b = n.transaction) === null || _b === void 0 ? void 0 : _b.yates_id)
|
|
303
|
+
? n.transaction.yates_id + (getBatchId(n.protocolQuery) || "")
|
|
304
|
+
: ((_c = n.transaction) === null || _c === void 0 ? void 0 : _c.id)
|
|
305
|
+
? "transaction-".concat(n.transaction.id)
|
|
306
|
+
: getBatchId(n.protocolQuery);
|
|
307
|
+
};
|
|
308
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
309
|
+
prisma._transactionWithArray = function (_a) {
|
|
310
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
311
|
+
var id, lock, requests;
|
|
312
|
+
var _this = this;
|
|
313
|
+
var promises = _b.promises, options = _b.options;
|
|
314
|
+
return __generator(this, function (_c) {
|
|
315
|
+
id = BatchTxIdCounter.nextId();
|
|
316
|
+
lock = getLockCountPromise(promises.length);
|
|
317
|
+
requests = promises.map(function (request, index) {
|
|
318
|
+
var _a, _b, _c;
|
|
319
|
+
if ((request === null || request === void 0 ? void 0 : request[Symbol.toStringTag]) !== "PrismaPromise") {
|
|
320
|
+
throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function.");
|
|
321
|
+
}
|
|
322
|
+
var isolationLevel = (_a = options === null || options === void 0 ? void 0 : options.isolationLevel) !== null && _a !== void 0 ? _a : _this._engineConfig.transactionOptions.isolationLevel;
|
|
323
|
+
var transaction = {
|
|
324
|
+
kind: "batch",
|
|
325
|
+
id: id,
|
|
326
|
+
index: index,
|
|
327
|
+
isolationLevel: isolationLevel,
|
|
328
|
+
lock: lock,
|
|
329
|
+
yates_id: options === null || options === void 0 ? void 0 : options.new_tx_id,
|
|
330
|
+
};
|
|
331
|
+
// @ts-ignore
|
|
332
|
+
return (_c = (_b = request.requestTransaction) === null || _b === void 0 ? void 0 : _b.call(request, transaction)) !== null && _c !== void 0 ? _c : request;
|
|
333
|
+
});
|
|
334
|
+
return [2 /*return*/, waitForBatch(requests)];
|
|
335
|
+
});
|
|
336
|
+
});
|
|
337
|
+
};
|
|
338
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
339
|
+
prisma._transactionWithCallback = function (_a) {
|
|
340
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
341
|
+
var headers, optionsWithDefaults, info, result, transaction, e_1;
|
|
342
|
+
var _c, _d, _e, _f;
|
|
343
|
+
var callback = _b.callback, options = _b.options;
|
|
344
|
+
return __generator(this, function (_g) {
|
|
345
|
+
switch (_g.label) {
|
|
346
|
+
case 0:
|
|
347
|
+
headers = { traceparent: this._tracingHelper.getTraceParent() };
|
|
348
|
+
optionsWithDefaults = {
|
|
349
|
+
maxWait: (_c = options === null || options === void 0 ? void 0 : options.maxWait) !== null && _c !== void 0 ? _c : this._engineConfig.transactionOptions.maxWait,
|
|
350
|
+
timeout: (_d = options === null || options === void 0 ? void 0 : options.timeout) !== null && _d !== void 0 ? _d : this._engineConfig.transactionOptions.timeout,
|
|
351
|
+
isolationLevel: (_e = options === null || options === void 0 ? void 0 : options.isolationLevel) !== null && _e !== void 0 ? _e : this._engineConfig.transactionOptions.isolationLevel,
|
|
352
|
+
new_tx_id: (_f = options === null || options === void 0 ? void 0 : options.new_tx_id) !== null && _f !== void 0 ? _f : undefined,
|
|
353
|
+
};
|
|
354
|
+
return [4 /*yield*/, this._engine.transaction("start", headers, optionsWithDefaults)];
|
|
355
|
+
case 1:
|
|
356
|
+
info = _g.sent();
|
|
357
|
+
_g.label = 2;
|
|
358
|
+
case 2:
|
|
359
|
+
_g.trys.push([2, 5, , 7]);
|
|
360
|
+
transaction = __assign({ kind: "itx" }, info);
|
|
361
|
+
transaction.yates_id = optionsWithDefaults.new_tx_id;
|
|
362
|
+
return [4 /*yield*/, callback(this._createItxClient(transaction))];
|
|
363
|
+
case 3:
|
|
364
|
+
result = _g.sent();
|
|
365
|
+
// it went well, then we commit the transaction
|
|
366
|
+
return [4 /*yield*/, this._engine.transaction("commit", headers, info)];
|
|
367
|
+
case 4:
|
|
368
|
+
// it went well, then we commit the transaction
|
|
369
|
+
_g.sent();
|
|
370
|
+
return [3 /*break*/, 7];
|
|
371
|
+
case 5:
|
|
372
|
+
e_1 = _g.sent();
|
|
373
|
+
// it went bad, then we rollback the transaction
|
|
374
|
+
return [4 /*yield*/, this._engine.transaction("rollback", headers, info).catch(function () { })];
|
|
375
|
+
case 6:
|
|
376
|
+
// it went bad, then we rollback the transaction
|
|
377
|
+
_g.sent();
|
|
378
|
+
throw e_1; // silent rollback, throw original error
|
|
379
|
+
case 7: return [2 /*return*/, result];
|
|
380
|
+
}
|
|
381
|
+
});
|
|
382
|
+
});
|
|
383
|
+
};
|
|
384
|
+
var tickActive = false;
|
|
385
|
+
var batches = {};
|
|
386
|
+
var dispatchBatches = function () {
|
|
387
|
+
var e_2, _a;
|
|
388
|
+
var _loop_2 = function (key, batch) {
|
|
389
|
+
console.log(key, batch);
|
|
390
|
+
delete batches[key];
|
|
391
|
+
prisma
|
|
392
|
+
.$transaction(function (tx) { return __awaiter(void 0, void 0, void 0, function () {
|
|
393
|
+
var txId, results;
|
|
394
|
+
return __generator(this, function (_a) {
|
|
395
|
+
switch (_a.label) {
|
|
396
|
+
case 0: return [4 /*yield*/, tx.$queryRawUnsafe("SET ROLE ".concat(batch.pgRole))];
|
|
397
|
+
case 1:
|
|
398
|
+
_a.sent();
|
|
399
|
+
// Now set all the context variables using `set_config` so that they can be used in RLS
|
|
400
|
+
return [4 /*yield*/, Promise.all((0, toPairs_1.default)(batch.context).map(function (_a) {
|
|
401
|
+
var _b = __read(_a, 2), key = _b[0], value = _b[1];
|
|
402
|
+
return prisma.$queryRaw(templateObject_2 || (templateObject_2 = __makeTemplateObject(["SELECT set_config(", ", ", ", true);"], ["SELECT set_config(", ", ", ", true);"])), key, value.toString());
|
|
403
|
+
}))];
|
|
404
|
+
case 2:
|
|
405
|
+
// Now set all the context variables using `set_config` so that they can be used in RLS
|
|
406
|
+
_a.sent();
|
|
407
|
+
txId = tx[Symbol.for("prisma.client.transaction.id")];
|
|
408
|
+
return [4 /*yield*/, Promise.all(batch.requests.map(function (request) {
|
|
409
|
+
return prisma._executeRequest(__assign(__assign({}, request.params), { transaction: {
|
|
410
|
+
kind: "itx",
|
|
411
|
+
id: txId,
|
|
412
|
+
} }));
|
|
413
|
+
}))];
|
|
414
|
+
case 3:
|
|
415
|
+
results = _a.sent();
|
|
416
|
+
// Switch role back to admin user
|
|
417
|
+
return [4 /*yield*/, prisma.$queryRawUnsafe("SET ROLE none")];
|
|
418
|
+
case 4:
|
|
419
|
+
// Switch role back to admin user
|
|
420
|
+
_a.sent();
|
|
421
|
+
return [2 /*return*/, results];
|
|
422
|
+
}
|
|
423
|
+
});
|
|
424
|
+
}); })
|
|
425
|
+
.then(function (results) {
|
|
426
|
+
results.forEach(function (result, index) {
|
|
427
|
+
batch.requests[index].resolve(result);
|
|
428
|
+
});
|
|
429
|
+
})
|
|
430
|
+
.catch(function (e) {
|
|
431
|
+
batch.requests.forEach(function (request) { return request.reject(e); });
|
|
432
|
+
delete batches[key];
|
|
433
|
+
});
|
|
434
|
+
};
|
|
435
|
+
try {
|
|
436
|
+
for (var _b = __values(Object.entries(batches)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
437
|
+
var _d = __read(_c.value, 2), key = _d[0], batch = _d[1];
|
|
438
|
+
_loop_2(key, batch);
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
442
|
+
finally {
|
|
443
|
+
try {
|
|
444
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
445
|
+
}
|
|
446
|
+
finally { if (e_2) throw e_2.error; }
|
|
447
|
+
}
|
|
448
|
+
};
|
|
188
449
|
var client = prisma.$extends({
|
|
189
450
|
name: "Yates client",
|
|
190
451
|
query: {
|
|
191
452
|
$allModels: {
|
|
192
453
|
$allOperations: function (params) {
|
|
193
454
|
return __awaiter(this, void 0, void 0, function () {
|
|
194
|
-
var model, args, query, operation, ctx, role, context, pgRole, _a, _b, k, _c, _d, v,
|
|
195
|
-
var
|
|
196
|
-
var _this = this;
|
|
455
|
+
var model, args, query, operation, ctx, role, context, pgRole, _a, _b, k, _c, _d, v, txId, hash_1, __internalParams_1;
|
|
456
|
+
var e_3, _e, e_4, _f;
|
|
197
457
|
var _g;
|
|
198
458
|
return __generator(this, function (_h) {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
if (typeof v !== "string") {
|
|
232
|
-
throw new Error("Context variable \"".concat(k, "\" must be an array of strings. Got ").concat(typeof v));
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
237
|
-
finally {
|
|
238
|
-
try {
|
|
239
|
-
if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
|
|
240
|
-
}
|
|
241
|
-
finally { if (e_3) throw e_3.error; }
|
|
459
|
+
model = params.model, args = params.args, query = params.query, operation = params.operation;
|
|
460
|
+
if (!model) {
|
|
461
|
+
// If the model is not defined, we can't apply RLS
|
|
462
|
+
// This can occur when you are making a call with Prisma's $queryRaw method
|
|
463
|
+
// biome-ignore lint/suspicious/noExplicitAny: See above
|
|
464
|
+
return [2 /*return*/, query(args)];
|
|
465
|
+
}
|
|
466
|
+
ctx = getContext();
|
|
467
|
+
// If ctx is null, the middleware is explicitly skipped
|
|
468
|
+
if (ctx === null) {
|
|
469
|
+
return [2 /*return*/, query(args)];
|
|
470
|
+
}
|
|
471
|
+
role = ctx.role, context = ctx.context;
|
|
472
|
+
pgRole = (0, exports.createRoleName)(role);
|
|
473
|
+
if (context) {
|
|
474
|
+
try {
|
|
475
|
+
for (_a = __values(Object.keys(context)), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
476
|
+
k = _b.value;
|
|
477
|
+
if (!k.match(/^[a-z_\.]+$/)) {
|
|
478
|
+
throw new Error("Context variable \"".concat(k, "\" contains invalid characters. Context variables must only contain lowercase letters, numbers, periods and underscores."));
|
|
479
|
+
}
|
|
480
|
+
if (typeof context[k] !== "number" &&
|
|
481
|
+
typeof context[k] !== "string" &&
|
|
482
|
+
!Array.isArray(context[k])) {
|
|
483
|
+
throw new Error("Context variable \"".concat(k, "\" must be a string, number or array. Got ").concat(typeof context[k]));
|
|
484
|
+
}
|
|
485
|
+
if (Array.isArray(context[k])) {
|
|
486
|
+
try {
|
|
487
|
+
for (_c = (e_4 = void 0, __values(context[k])), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
488
|
+
v = _d.value;
|
|
489
|
+
if (typeof v !== "string") {
|
|
490
|
+
throw new Error("Context variable \"".concat(k, "\" must be an array of strings. Got ").concat(typeof v));
|
|
242
491
|
}
|
|
243
|
-
// Cast to a JSON string so that it can be used in RLS expressions
|
|
244
|
-
context[k] = JSON.stringify(context[k]);
|
|
245
492
|
}
|
|
246
493
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
494
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
495
|
+
finally {
|
|
496
|
+
try {
|
|
497
|
+
if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
|
|
498
|
+
}
|
|
499
|
+
finally { if (e_4) throw e_4.error; }
|
|
252
500
|
}
|
|
253
|
-
|
|
501
|
+
// Cast to a JSON string so that it can be used in RLS expressions
|
|
502
|
+
context[k] = JSON.stringify(context[k]);
|
|
254
503
|
}
|
|
255
504
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
_e.trys.push([2, 7, 8, 9]);
|
|
282
|
-
_a = __values((0, toPairs_1.default)(context)), _b = _a.next();
|
|
283
|
-
_e.label = 3;
|
|
284
|
-
case 3:
|
|
285
|
-
if (!!_b.done) return [3 /*break*/, 6];
|
|
286
|
-
_c = __read(_b.value, 2), key = _c[0], value = _c[1];
|
|
287
|
-
return [4 /*yield*/, tx.$queryRaw(templateObject_2 || (templateObject_2 = __makeTemplateObject(["SELECT set_config(", ", ", ", true);"], ["SELECT set_config(", ", ", ", true);"])), key, value.toString())];
|
|
288
|
-
case 4:
|
|
289
|
-
_e.sent();
|
|
290
|
-
_e.label = 5;
|
|
291
|
-
case 5:
|
|
292
|
-
_b = _a.next();
|
|
293
|
-
return [3 /*break*/, 3];
|
|
294
|
-
case 6: return [3 /*break*/, 9];
|
|
295
|
-
case 7:
|
|
296
|
-
e_4_1 = _e.sent();
|
|
297
|
-
e_4 = { error: e_4_1 };
|
|
298
|
-
return [3 /*break*/, 9];
|
|
299
|
-
case 8:
|
|
300
|
-
try {
|
|
301
|
-
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
302
|
-
}
|
|
303
|
-
finally { if (e_4) throw e_4.error; }
|
|
304
|
-
return [7 /*endfinally*/];
|
|
305
|
-
case 9:
|
|
306
|
-
txId = tx[Symbol.for("prisma.client.transaction.id")];
|
|
307
|
-
__internalParams = params.__internalParams;
|
|
308
|
-
return [4 /*yield*/, prisma._executeRequest(__assign(__assign({}, __internalParams), { transaction: {
|
|
309
|
-
kind: "itx",
|
|
310
|
-
id: txId,
|
|
311
|
-
} }))];
|
|
312
|
-
case 10:
|
|
313
|
-
result = _e.sent();
|
|
314
|
-
// Switch role back to admin user
|
|
315
|
-
return [4 /*yield*/, tx.$queryRawUnsafe("SET ROLE none")];
|
|
316
|
-
case 11:
|
|
317
|
-
// Switch role back to admin user
|
|
318
|
-
_e.sent();
|
|
319
|
-
return [2 /*return*/, result];
|
|
320
|
-
}
|
|
321
|
-
});
|
|
322
|
-
}); }, {
|
|
323
|
-
maxWait: txMaxWait,
|
|
324
|
-
timeout: txTimeout,
|
|
325
|
-
})];
|
|
326
|
-
case 2:
|
|
327
|
-
queryResults = _h.sent();
|
|
328
|
-
return [2 /*return*/, queryResults];
|
|
329
|
-
case 3:
|
|
330
|
-
e_1 = _h.sent();
|
|
331
|
-
// Normalize RLS errors to make them a bit more readable.
|
|
332
|
-
if ((_g = e_1.message) === null || _g === void 0 ? void 0 : _g.includes("new row violates row-level security policy for table")) {
|
|
333
|
-
throw new Error("You do not have permission to perform this action: ".concat(model, ".").concat(operation, "(...)"));
|
|
505
|
+
}
|
|
506
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
507
|
+
finally {
|
|
508
|
+
try {
|
|
509
|
+
if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
|
|
510
|
+
}
|
|
511
|
+
finally { if (e_3) throw e_3.error; }
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
try {
|
|
515
|
+
txId = hashWithPrefix("yates_tx_", JSON.stringify(ctx));
|
|
516
|
+
hash_1 = txId;
|
|
517
|
+
if (!batches[hash_1]) {
|
|
518
|
+
batches[hash_1] = {
|
|
519
|
+
pgRole: pgRole,
|
|
520
|
+
context: context,
|
|
521
|
+
requests: [],
|
|
522
|
+
};
|
|
523
|
+
// make sure, that we only tick once at a time
|
|
524
|
+
if (tickActive) {
|
|
525
|
+
tickActive = true;
|
|
526
|
+
process.nextTick(function () {
|
|
527
|
+
dispatchBatches();
|
|
528
|
+
tickActive = false;
|
|
529
|
+
});
|
|
334
530
|
}
|
|
335
|
-
|
|
336
|
-
|
|
531
|
+
}
|
|
532
|
+
__internalParams_1 = params.__internalParams;
|
|
533
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
534
|
+
batches[hash_1].requests.push({
|
|
535
|
+
params: __internalParams_1,
|
|
536
|
+
query: query,
|
|
537
|
+
args: args,
|
|
538
|
+
resolve: resolve,
|
|
539
|
+
reject: reject,
|
|
540
|
+
});
|
|
541
|
+
})];
|
|
542
|
+
}
|
|
543
|
+
catch (e) {
|
|
544
|
+
// Normalize RLS errors to make them a bit more readable.
|
|
545
|
+
if ((_g = e.message) === null || _g === void 0 ? void 0 : _g.includes("new row violates row-level security policy for table")) {
|
|
546
|
+
throw new Error("You do not have permission to perform this action: ".concat(model, ".").concat(operation, "(...)"));
|
|
547
|
+
}
|
|
548
|
+
throw e;
|
|
337
549
|
}
|
|
550
|
+
return [2 /*return*/];
|
|
338
551
|
});
|
|
339
552
|
});
|
|
340
553
|
},
|
|
@@ -431,7 +644,7 @@ var setRLS = function (prisma, table, roleName, slug, ability) { return __awaite
|
|
|
431
644
|
});
|
|
432
645
|
}); };
|
|
433
646
|
var createRoles = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
|
|
434
|
-
var abilities, runtimeDataModel, models, diff, models_1, models_1_1, model, ability, operation, roles, pgRoles, existingAbilities, pgPolicies, migratedAbilities, _c, _d, _e, _i, model, table,
|
|
647
|
+
var abilities, runtimeDataModel, models, diff, models_1, models_1_1, model, ability, operation, roles, pgRoles, existingAbilities, pgPolicies, migratedAbilities, _c, _d, _e, _i, model, table, _loop_3, _f, _g, _h, _j, slug, _loop_4, _k, _l, _m, _o, key;
|
|
435
648
|
var e_5, _p;
|
|
436
649
|
var _q;
|
|
437
650
|
var prisma = _b.prisma, customAbilities = _b.customAbilities, getRoles = _b.getRoles;
|
|
@@ -561,7 +774,7 @@ var createRoles = function (_a) { return __awaiter(void 0, [_a], void 0, functio
|
|
|
561
774
|
])];
|
|
562
775
|
case 8:
|
|
563
776
|
_r.sent();
|
|
564
|
-
|
|
777
|
+
_loop_3 = function (slug) {
|
|
565
778
|
var ability, roleName;
|
|
566
779
|
return __generator(this, function (_s) {
|
|
567
780
|
switch (_s.label) {
|
|
@@ -607,7 +820,7 @@ var createRoles = function (_a) { return __awaiter(void 0, [_a], void 0, functio
|
|
|
607
820
|
_h = _g[_j];
|
|
608
821
|
if (!(_h in _f)) return [3 /*break*/, 11];
|
|
609
822
|
slug = _h;
|
|
610
|
-
return [5 /*yield**/,
|
|
823
|
+
return [5 /*yield**/, _loop_3(slug)];
|
|
611
824
|
case 10:
|
|
612
825
|
_r.sent();
|
|
613
826
|
_r.label = 11;
|
|
@@ -618,7 +831,7 @@ var createRoles = function (_a) { return __awaiter(void 0, [_a], void 0, functio
|
|
|
618
831
|
_i++;
|
|
619
832
|
return [3 /*break*/, 7];
|
|
620
833
|
case 13:
|
|
621
|
-
|
|
834
|
+
_loop_4 = function (key) {
|
|
622
835
|
var role, wildCardAbilities, roleAbilities, rlsRoles, userRoles, oldRoles, policies;
|
|
623
836
|
return __generator(this, function (_t) {
|
|
624
837
|
switch (_t.label) {
|
|
@@ -704,7 +917,7 @@ var createRoles = function (_a) { return __awaiter(void 0, [_a], void 0, functio
|
|
|
704
917
|
_m = _l[_o];
|
|
705
918
|
if (!(_m in _k)) return [3 /*break*/, 16];
|
|
706
919
|
key = _m;
|
|
707
|
-
return [5 /*yield**/,
|
|
920
|
+
return [5 /*yield**/, _loop_4(key)];
|
|
708
921
|
case 15:
|
|
709
922
|
_r.sent();
|
|
710
923
|
_r.label = 16;
|
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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"}
|