@cerebruminc/yates 3.3.2-beta.dangerous.3e4bee1 → 3.3.2-beta.dangerous.6e79492
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/README.md +4 -0
- package/dist/ast-fragments.js.map +1 -1
- package/dist/escape.js +1 -3
- package/dist/escape.js.map +1 -1
- package/dist/expressions.d.ts +1 -1
- package/dist/expressions.js +40 -21
- package/dist/expressions.js.map +1 -1
- package/dist/index.js +268 -216
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -152,6 +152,10 @@ When defining an ability you need to provide the following properties:
|
|
|
152
152
|
|
|
153
153
|
- `operation`: The operation that the ability is being applied to. This can be one of `CREATE`, `READ`, `UPDATE` or `DELETE`.
|
|
154
154
|
|
|
155
|
+
### Debug
|
|
156
|
+
|
|
157
|
+
To run Yates in debug mode, set the `YATES_DEBUG` environment variable to `true`.
|
|
158
|
+
|
|
155
159
|
## Known limitations
|
|
156
160
|
|
|
157
161
|
### Nested transactions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-fragments.js","sourceRoot":"","sources":["../src/ast-fragments.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAEzC;;;;GAIG;AACI,IAAM,yBAAyB,GAAG,UAAC,OAAe;IACxD,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACN;oBACC,GAAG,EAAE;wBACJ,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE;4BACT,IAAI,EAAE,IAAI;yBACV;wBACD,OAAO,EAAE;4BACR;gCACC,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE;oCACL,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,2BAA2B;oCACjC,IAAI,EAAE;wCACL,IAAI,EAAE,WAAW;wCACjB,KAAK,EAAE;4CACN;gDACC,IAAI,EAAE,MAAM;gDACZ,OAAO,EAAE,MAAM;gDACf,IAAI,EAAE;oDACL,IAAI,EAAE,UAAU;oDAChB,IAAI,EAAE,iBAAiB;oDACvB,IAAI,EAAE;wDACL,IAAI,EAAE,WAAW;wDACjB,KAAK,EAAE;4DACN;gEACC,IAAI,EAAE,WAAW;gEACjB,KAAK,EAAE,IAAA,sBAAa,
|
|
1
|
+
{"version":3,"file":"ast-fragments.js","sourceRoot":"","sources":["../src/ast-fragments.ts"],"names":[],"mappings":";;;AAAA,mCAAyC;AAEzC;;;;GAIG;AACI,IAAM,yBAAyB,GAAG,UAAC,OAAe;IACxD,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,KAAK;QACX,IAAI,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACN;oBACC,GAAG,EAAE;wBACJ,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE;4BACT,IAAI,EAAE,IAAI;yBACV;wBACD,OAAO,EAAE;4BACR;gCACC,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE;oCACL,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,2BAA2B;oCACjC,IAAI,EAAE;wCACL,IAAI,EAAE,WAAW;wCACjB,KAAK,EAAE;4CACN;gDACC,IAAI,EAAE,MAAM;gDACZ,OAAO,EAAE,MAAM;gDACf,IAAI,EAAE;oDACL,IAAI,EAAE,UAAU;oDAChB,IAAI,EAAE,iBAAiB;oDACvB,IAAI,EAAE;wDACL,IAAI,EAAE,WAAW;wDACjB,KAAK,EAAE;4DACN;gEACC,IAAI,EAAE,WAAW;gEACjB,KAAK,EAAE,IAAA,sBAAa,EACnB,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CACzC;6DACD;yDACD;qDACD;iDACD;gDACD,EAAE,EAAE,IAAI;gDACR,MAAM,EAAE,IAAI;gDACZ,MAAM,EAAE;oDACP,QAAQ,EAAE,OAAO;iDACjB;gDACD,MAAM,EAAE,EAAE;gDACV,UAAU,EAAE,EAAE;6CACd;yCACD;qCACD;iCACD;gCACD,EAAE,EAAE,IAAI;6BACR;yBACD;wBACD,IAAI,EAAE;4BACL,QAAQ,EAAE,IAAI;yBACd;wBACD,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,IAAI;wBACX,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE;4BACN,SAAS,EAAE,EAAE;4BACb,KAAK,EAAE,EAAE;yBACT;wBACD,MAAM,EAAE,IAAI;qBACZ;iBACD;aACD;SACD;KACD,CAAC;AACH,CAAC,CAAC;AA1EW,QAAA,yBAAyB,6BA0EpC"}
|
package/dist/escape.js
CHANGED
|
@@ -5,9 +5,7 @@
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.escapeLiteral = exports.escapeIdentifier = void 0;
|
|
7
7
|
// Ported from PostgreSQL 9.2.4 source code in src/interfaces/libpq/fe-exec.c
|
|
8
|
-
var escapeIdentifier = function (str) {
|
|
9
|
-
return "\"".concat(str.replace(/"/g, '""'), "\"");
|
|
10
|
-
};
|
|
8
|
+
var escapeIdentifier = function (str) { return "\"".concat(str.replace(/"/g, '""'), "\""); };
|
|
11
9
|
exports.escapeIdentifier = escapeIdentifier;
|
|
12
10
|
// Ported from PostgreSQL 9.2.4 source code in src/interfaces/libpq/fe-exec.c
|
|
13
11
|
var escapeLiteral = function (str) {
|
package/dist/escape.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escape.js","sourceRoot":"","sources":["../src/escape.ts"],"names":[],"mappings":";AAAA,mEAAmE;AACnE,4HAA4H;AAC5H,yJAAyJ;;;AAEzJ,6EAA6E;AACtE,IAAM,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"escape.js","sourceRoot":"","sources":["../src/escape.ts"],"names":[],"mappings":";AAAA,mEAAmE;AACnE,4HAA4H;AAC5H,yJAAyJ;;;AAEzJ,6EAA6E;AACtE,IAAM,gBAAgB,GAAG,UAAC,GAAW,IAAK,OAAA,YAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAG,EAA9B,CAA8B,CAAC;AAAnE,QAAA,gBAAgB,oBAAmD;AAEhF,6EAA6E;AACtE,IAAM,aAAa,GAAG,UAAC,GAAW;IACxC,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,OAAO,GAAG,GAAG,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,YAAY,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,CAAC;YACP,OAAO,IAAI,CAAC,CAAC;QACd,CAAC;IACF,CAAC;IAED,OAAO,IAAI,GAAG,CAAC;IAEf,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,GAAG,YAAK,OAAO,CAAE,CAAC;IAC1B,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAvBW,QAAA,aAAa,iBAuBxB"}
|
package/dist/expressions.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Prisma, PrismaClient } from "@prisma/client";
|
|
2
|
-
import { AsyncReturnType } from "type-fest";
|
|
3
2
|
import { defineDmmfProperty } from "@prisma/client/runtime/library";
|
|
3
|
+
import { AsyncReturnType } from "type-fest";
|
|
4
4
|
export type RuntimeDataModel = Parameters<typeof defineDmmfProperty>[1];
|
|
5
5
|
type FFMeta<M extends Prisma.ModelName> = PrismaClient[Uncapitalize<M>]["findFirst"];
|
|
6
6
|
type ModelWhereArgs<M extends Prisma.ModelName> = Exclude<Parameters<FFMeta<M>>["0"], undefined>["where"];
|
package/dist/expressions.js
CHANGED
|
@@ -63,19 +63,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
63
63
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
64
64
|
exports.expressionToSQL = void 0;
|
|
65
65
|
var client_1 = require("@prisma/client");
|
|
66
|
-
var random_1 = __importDefault(require("lodash/random"));
|
|
67
66
|
var matches_1 = __importDefault(require("lodash/matches"));
|
|
67
|
+
var random_1 = __importDefault(require("lodash/random"));
|
|
68
68
|
var node_sql_parser_1 = require("node-sql-parser");
|
|
69
|
-
var escape_1 = require("./escape");
|
|
70
69
|
var ast_fragments_1 = require("./ast-fragments");
|
|
70
|
+
var escape_1 = require("./escape");
|
|
71
71
|
var PRISMA_NUMERIC_TYPES = ["Int", "BigInt", "Float", "Decimal"];
|
|
72
|
+
// This function is a recursive function that will search through an object and
|
|
73
|
+
// its children to find a matching object.
|
|
74
|
+
// It's used to find a matching AST fragment so that we can replace it with a token
|
|
75
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO future cleanup
|
|
72
76
|
var deepFind = function (obj, subObj) {
|
|
73
77
|
var matcher = (0, matches_1.default)(subObj);
|
|
74
78
|
for (var key in obj) {
|
|
75
79
|
if (matcher(obj[key])) {
|
|
76
80
|
return obj[key];
|
|
77
81
|
}
|
|
78
|
-
|
|
82
|
+
if (typeof obj[key] === "object") {
|
|
79
83
|
var result = deepFind(obj[key], subObj);
|
|
80
84
|
if (result) {
|
|
81
85
|
return result;
|
|
@@ -83,16 +87,20 @@ var deepFind = function (obj, subObj) {
|
|
|
83
87
|
}
|
|
84
88
|
}
|
|
85
89
|
};
|
|
90
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
86
91
|
var expressionRowName = function (col) { return "___yates_row_".concat(col); };
|
|
87
92
|
var expressionContext = function (context) { return "___yates_context_".concat(context); };
|
|
88
93
|
// Generate a big 32bit signed integer to use as an ID
|
|
89
94
|
var getLargeRandomInt = function () { return (0, random_1.default)(1000000000, 2147483647); };
|
|
90
95
|
var getDmmfMetaData = function (client, model, field) {
|
|
91
|
-
|
|
96
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
97
|
+
var runtimeDataModel = client
|
|
98
|
+
._runtimeDataModel;
|
|
92
99
|
var modelData = runtimeDataModel.models[model];
|
|
93
100
|
if (!modelData) {
|
|
94
101
|
throw new Error("Could not retrieve model data from Prisma Client for model '".concat(model, "'"));
|
|
95
102
|
}
|
|
103
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
96
104
|
var fieldData = modelData.fields.find(function (f) { return f.name === field; });
|
|
97
105
|
if (!fieldData) {
|
|
98
106
|
throw new Error("Could not retrieve field data from Prisma Client for field '".concat(model, ".").concat(field, "'"));
|
|
@@ -107,6 +115,7 @@ var tokenizeWhereExpression = function (
|
|
|
107
115
|
/** The Prisma client to use for metadata */
|
|
108
116
|
client,
|
|
109
117
|
/** The Prisma where expression to be tokenized */
|
|
118
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
110
119
|
where,
|
|
111
120
|
/** The base table we are generating an expression for */
|
|
112
121
|
table,
|
|
@@ -133,18 +142,18 @@ tokens) {
|
|
|
133
142
|
if (fieldData.isList) {
|
|
134
143
|
for (var subField in value) {
|
|
135
144
|
var subValue = value[subField];
|
|
136
|
-
var _b = tokenizeWhereExpression(client, subValue, table, fieldData.type, tokens),
|
|
137
|
-
|
|
138
|
-
|
|
145
|
+
var _b = tokenizeWhereExpression(client, subValue, table, fieldData.type, tokens), subTokens_1 = _b.tokens, subWhere_1 = _b.where;
|
|
146
|
+
// biome-ignore lint/style/noParameterAssign: TODO fix this
|
|
147
|
+
tokens = __assign(__assign({}, tokens), subTokens_1);
|
|
148
|
+
where[field][subField] = subWhere_1;
|
|
139
149
|
}
|
|
140
150
|
continue;
|
|
141
151
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
152
|
+
var _c = tokenizeWhereExpression(client, value, table, fieldData.type, tokens), subTokens = _c.tokens, subWhere = _c.where;
|
|
153
|
+
// biome-ignore lint/style/noParameterAssign: TODO fix this
|
|
154
|
+
tokens = __assign(__assign({}, tokens), subTokens);
|
|
155
|
+
where[field] = subWhere;
|
|
156
|
+
continue;
|
|
148
157
|
}
|
|
149
158
|
var isNumeric = PRISMA_NUMERIC_TYPES.includes(fieldData.type);
|
|
150
159
|
var isColumnName = typeof value === "string" && !!value.match(/^___yates_row_/);
|
|
@@ -153,6 +162,7 @@ tokens) {
|
|
|
153
162
|
switch (true) {
|
|
154
163
|
case isColumnName:
|
|
155
164
|
// Substiture the yates row placeholder for the actual column name
|
|
165
|
+
// biome-ignore lint/correctness/noSwitchDeclarations: TODO fix this
|
|
156
166
|
var column = value.replace(/^___yates_row_/, "");
|
|
157
167
|
if (!getDmmfMetaData(client, table, column)) {
|
|
158
168
|
throw new Error("Invalid field name \"".concat(column, "\""));
|
|
@@ -222,6 +232,7 @@ tokens) {
|
|
|
222
232
|
try {
|
|
223
233
|
for (var _d = (e_1 = void 0, __values(value.in)), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
224
234
|
var item = _e.value;
|
|
235
|
+
// biome-ignore lint/suspicious/noImplicitAnyLet: TODO fix this
|
|
225
236
|
var inToken = void 0;
|
|
226
237
|
do {
|
|
227
238
|
inToken = getLargeRandomInt();
|
|
@@ -247,11 +258,9 @@ tokens) {
|
|
|
247
258
|
};
|
|
248
259
|
continue;
|
|
249
260
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
astFragment = (0, ast_fragments_1.jsonb_array_elements_text)(value.in);
|
|
254
|
-
}
|
|
261
|
+
// If the value of `in` is a context value, we assume that it is an array that has been JSON encoded
|
|
262
|
+
// We create an AST fragment representing a function call to `jsonb_array_elements_text` with the context value as the argument
|
|
263
|
+
astFragment = (0, ast_fragments_1.jsonb_array_elements_text)(value.in);
|
|
255
264
|
break;
|
|
256
265
|
// All other types are treated as strings
|
|
257
266
|
default:
|
|
@@ -303,21 +312,28 @@ var expressionToSQL = function (getExpression, table) { return __awaiter(void 0,
|
|
|
303
312
|
},
|
|
304
313
|
});
|
|
305
314
|
return [4 /*yield*/, new Promise(
|
|
306
|
-
//
|
|
315
|
+
// biome-ignore lint/suspicious/noAsyncPromiseExecutor: future cleanup
|
|
307
316
|
function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {
|
|
308
317
|
var rawExpression, isSubselect, error_1;
|
|
309
318
|
return __generator(this, function (_a) {
|
|
310
319
|
switch (_a.label) {
|
|
311
320
|
case 0:
|
|
312
|
-
rawExpression = getExpression(
|
|
321
|
+
rawExpression = getExpression(
|
|
322
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
323
|
+
expressionClient,
|
|
324
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
325
|
+
expressionRowName, expressionContext);
|
|
313
326
|
isSubselect = typeof rawExpression === "object" &&
|
|
314
327
|
"then" in rawExpression &&
|
|
328
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
315
329
|
typeof rawExpression.then === "function";
|
|
330
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
316
331
|
baseClient.$on("query", function (e) {
|
|
317
332
|
var e_2, _a, e_3, _b;
|
|
318
333
|
try {
|
|
319
334
|
var parser = new node_sql_parser_1.Parser();
|
|
320
335
|
// Parse the query into an AST
|
|
336
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
321
337
|
var ast = parser.astify(e.query, {
|
|
322
338
|
database: "postgresql",
|
|
323
339
|
});
|
|
@@ -398,10 +414,13 @@ var expressionToSQL = function (getExpression, table) { return __awaiter(void 0,
|
|
|
398
414
|
case 2:
|
|
399
415
|
_a.sent();
|
|
400
416
|
return [3 /*break*/, 5];
|
|
401
|
-
case 3:
|
|
417
|
+
case 3:
|
|
418
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
419
|
+
return [4 /*yield*/, expressionClient[table].findFirst({
|
|
402
420
|
where: rawExpression,
|
|
403
421
|
})];
|
|
404
422
|
case 4:
|
|
423
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
405
424
|
_a.sent();
|
|
406
425
|
_a.label = 5;
|
|
407
426
|
case 5: return [3 /*break*/, 7];
|
package/dist/expressions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAsD;
|
|
1
|
+
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"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"}
|
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,18 +89,48 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
100
89
|
}
|
|
101
90
|
return ar;
|
|
102
91
|
};
|
|
92
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
93
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
94
|
+
if (ar || !(i in from)) {
|
|
95
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
96
|
+
ar[i] = from[i];
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
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
|
+
};
|
|
103
112
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
104
113
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
105
114
|
};
|
|
106
115
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
107
116
|
exports.setup = exports.createRoles = exports.createClient = exports.createRoleName = exports.createAbilityName = void 0;
|
|
117
|
+
var crypto = __importStar(require("crypto"));
|
|
108
118
|
var difference_1 = __importDefault(require("lodash/difference"));
|
|
109
119
|
var flatMap_1 = __importDefault(require("lodash/flatMap"));
|
|
110
120
|
var map_1 = __importDefault(require("lodash/map"));
|
|
111
121
|
var toPairs_1 = __importDefault(require("lodash/toPairs"));
|
|
112
|
-
var crypto = __importStar(require("crypto"));
|
|
113
122
|
var expressions_1 = require("./expressions");
|
|
114
123
|
var VALID_OPERATIONS = ["SELECT", "UPDATE", "INSERT", "DELETE"];
|
|
124
|
+
var DEBUG = process.env.YATES_DEBUG === "1";
|
|
125
|
+
var debug = function () {
|
|
126
|
+
var args = [];
|
|
127
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
128
|
+
args[_i] = arguments[_i];
|
|
129
|
+
}
|
|
130
|
+
if (DEBUG) {
|
|
131
|
+
console.log.apply(console, __spreadArray([], __read(args), false));
|
|
132
|
+
}
|
|
133
|
+
};
|
|
115
134
|
/**
|
|
116
135
|
* This function is used to take a lock that is automatically released at the end of the current transaction.
|
|
117
136
|
* This is very convenient for ensuring we don't hit concurrency issues when running setup code.
|
|
@@ -158,16 +177,19 @@ var createClient = function (prisma, getContext, options) {
|
|
|
158
177
|
query: {
|
|
159
178
|
$allModels: {
|
|
160
179
|
$allOperations: function (params) {
|
|
161
|
-
var _a;
|
|
162
180
|
return __awaiter(this, void 0, void 0, function () {
|
|
163
|
-
var model, args, query, operation, ctx, role, context, pgRole,
|
|
164
|
-
var e_2,
|
|
181
|
+
var model, args, query, operation, ctx, role, context, pgRole, _a, _b, k, _c, _d, v, queryResults, e_1;
|
|
182
|
+
var e_2, _e, e_3, _f;
|
|
165
183
|
var _this = this;
|
|
184
|
+
var _g;
|
|
166
185
|
return __generator(this, function (_h) {
|
|
167
186
|
switch (_h.label) {
|
|
168
187
|
case 0:
|
|
169
188
|
model = params.model, args = params.args, query = params.query, operation = params.operation;
|
|
170
189
|
if (!model) {
|
|
190
|
+
// If the model is not defined, we can't apply RLS
|
|
191
|
+
// This can occur when you are making a call with Prisma's $queryRaw method
|
|
192
|
+
// biome-ignore lint/suspicious/noExplicitAny: See above
|
|
171
193
|
return [2 /*return*/, query(args)];
|
|
172
194
|
}
|
|
173
195
|
ctx = getContext();
|
|
@@ -179,18 +201,20 @@ var createClient = function (prisma, getContext, options) {
|
|
|
179
201
|
pgRole = (0, exports.createRoleName)(role);
|
|
180
202
|
if (context) {
|
|
181
203
|
try {
|
|
182
|
-
for (
|
|
183
|
-
k =
|
|
204
|
+
for (_a = __values(Object.keys(context)), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
205
|
+
k = _b.value;
|
|
184
206
|
if (!k.match(/^[a-z_\.]+$/)) {
|
|
185
207
|
throw new Error("Context variable \"".concat(k, "\" contains invalid characters. Context variables must only contain lowercase letters, numbers, periods and underscores."));
|
|
186
208
|
}
|
|
187
|
-
if (typeof context[k] !== "number" &&
|
|
209
|
+
if (typeof context[k] !== "number" &&
|
|
210
|
+
typeof context[k] !== "string" &&
|
|
211
|
+
!Array.isArray(context[k])) {
|
|
188
212
|
throw new Error("Context variable \"".concat(k, "\" must be a string, number or array. Got ").concat(typeof context[k]));
|
|
189
213
|
}
|
|
190
214
|
if (Array.isArray(context[k])) {
|
|
191
215
|
try {
|
|
192
|
-
for (
|
|
193
|
-
v =
|
|
216
|
+
for (_c = (e_3 = void 0, __values(context[k])), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
217
|
+
v = _d.value;
|
|
194
218
|
if (typeof v !== "string") {
|
|
195
219
|
throw new Error("Context variable \"".concat(k, "\" must be an array of strings. Got ").concat(typeof v));
|
|
196
220
|
}
|
|
@@ -199,7 +223,7 @@ var createClient = function (prisma, getContext, options) {
|
|
|
199
223
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
200
224
|
finally {
|
|
201
225
|
try {
|
|
202
|
-
if (
|
|
226
|
+
if (_d && !_d.done && (_f = _c.return)) _f.call(_c);
|
|
203
227
|
}
|
|
204
228
|
finally { if (e_3) throw e_3.error; }
|
|
205
229
|
}
|
|
@@ -211,7 +235,7 @@ var createClient = function (prisma, getContext, options) {
|
|
|
211
235
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
212
236
|
finally {
|
|
213
237
|
try {
|
|
214
|
-
if (
|
|
238
|
+
if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
|
|
215
239
|
}
|
|
216
240
|
finally { if (e_2) throw e_2.error; }
|
|
217
241
|
}
|
|
@@ -283,7 +307,7 @@ var createClient = function (prisma, getContext, options) {
|
|
|
283
307
|
case 3:
|
|
284
308
|
e_1 = _h.sent();
|
|
285
309
|
// Normalize RLS errors to make them a bit more readable.
|
|
286
|
-
if ((
|
|
310
|
+
if ((_g = e_1.message) === null || _g === void 0 ? void 0 : _g.includes("new row violates row-level security policy for table")) {
|
|
287
311
|
throw new Error("You do not have permission to perform this action: ".concat(model, ".").concat(operation, "(...)"));
|
|
288
312
|
}
|
|
289
313
|
throw e_1;
|
|
@@ -302,13 +326,20 @@ var setRLS = function (prisma, table, roleName, operation, rawExpression) { retu
|
|
|
302
326
|
var expression, policyName, rows;
|
|
303
327
|
return __generator(this, function (_a) {
|
|
304
328
|
switch (_a.label) {
|
|
305
|
-
case 0:
|
|
329
|
+
case 0:
|
|
330
|
+
debug("Calculating RLS expression from", rawExpression);
|
|
331
|
+
return [4 /*yield*/, (0, expressions_1.expressionToSQL)(rawExpression, table)];
|
|
306
332
|
case 1:
|
|
307
333
|
expression = _a.sent();
|
|
308
334
|
policyName = roleName;
|
|
309
335
|
return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\tselect * from pg_catalog.pg_policies where tablename = '".concat(table, "' AND policyname = '").concat(policyName, "';\n\t"))];
|
|
310
336
|
case 2:
|
|
311
337
|
rows = _a.sent();
|
|
338
|
+
debug("Creating RLS policy", policyName);
|
|
339
|
+
debug("On table", table);
|
|
340
|
+
debug("For operation", operation);
|
|
341
|
+
debug("To role", roleName);
|
|
342
|
+
debug("With expression", expression);
|
|
312
343
|
if (!(rows.length === 0)) return [3 /*break*/, 7];
|
|
313
344
|
if (!(operation === "INSERT")) return [3 /*break*/, 4];
|
|
314
345
|
return [4 /*yield*/, prisma.$queryRawUnsafe("\n CREATE POLICY ".concat(policyName, " ON \"public\".\"").concat(table, "\" FOR ").concat(operation, " TO ").concat(roleName, " WITH CHECK (").concat(expression, ");\n "))];
|
|
@@ -335,205 +366,222 @@ var setRLS = function (prisma, table, roleName, operation, rawExpression) { retu
|
|
|
335
366
|
}
|
|
336
367
|
});
|
|
337
368
|
}); };
|
|
338
|
-
var createRoles = function (_a) {
|
|
339
|
-
var
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
}
|
|
369
|
+
var createRoles = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {
|
|
370
|
+
var abilities, runtimeDataModel, models, diff, models_1, models_1_1, model, ability, operation, roles, _c, _d, _e, _i, model, table, _f, _g, _h, _j, slug, ability, roleName, _loop_1, _k, _l, _m, _o, key;
|
|
371
|
+
var e_5, _p;
|
|
372
|
+
var _q;
|
|
373
|
+
var prisma = _b.prisma, customAbilities = _b.customAbilities, getRoles = _b.getRoles;
|
|
374
|
+
return __generator(this, function (_r) {
|
|
375
|
+
switch (_r.label) {
|
|
376
|
+
case 0:
|
|
377
|
+
abilities = {};
|
|
378
|
+
runtimeDataModel = prisma
|
|
379
|
+
._runtimeDataModel;
|
|
380
|
+
models = Object.keys(runtimeDataModel.models).map(function (m) { return runtimeDataModel.models[m].dbName || m; });
|
|
381
|
+
if (customAbilities) {
|
|
382
|
+
diff = (0, difference_1.default)(Object.keys(customAbilities), models);
|
|
383
|
+
if (diff.length) {
|
|
384
|
+
throw new Error("Invalid models in custom abilities: ".concat(diff.join(", ")));
|
|
355
385
|
}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
386
|
+
}
|
|
387
|
+
try {
|
|
388
|
+
for (models_1 = __values(models), models_1_1 = models_1.next(); !models_1_1.done; models_1_1 = models_1.next()) {
|
|
389
|
+
model = models_1_1.value;
|
|
390
|
+
abilities[model] = {
|
|
391
|
+
create: {
|
|
392
|
+
description: "Create ".concat(model),
|
|
393
|
+
expression: "true",
|
|
394
|
+
operation: "INSERT",
|
|
395
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
396
|
+
model: model,
|
|
397
|
+
slug: "create",
|
|
398
|
+
},
|
|
399
|
+
read: {
|
|
400
|
+
description: "Read ".concat(model),
|
|
401
|
+
expression: "true",
|
|
402
|
+
operation: "SELECT",
|
|
403
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
404
|
+
model: model,
|
|
405
|
+
slug: "read",
|
|
406
|
+
},
|
|
407
|
+
update: {
|
|
408
|
+
description: "Update ".concat(model),
|
|
409
|
+
expression: "true",
|
|
410
|
+
operation: "UPDATE",
|
|
411
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
412
|
+
model: model,
|
|
413
|
+
slug: "update",
|
|
414
|
+
},
|
|
415
|
+
delete: {
|
|
416
|
+
description: "Delete ".concat(model),
|
|
417
|
+
expression: "true",
|
|
418
|
+
operation: "DELETE",
|
|
419
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
420
|
+
model: model,
|
|
421
|
+
slug: "delete",
|
|
422
|
+
},
|
|
423
|
+
};
|
|
424
|
+
if (customAbilities === null || customAbilities === void 0 ? void 0 : customAbilities[model]) {
|
|
425
|
+
for (ability in customAbilities[model]) {
|
|
426
|
+
operation =
|
|
427
|
+
// biome-ignore lint/style/noNonNullAssertion: TODO fix this
|
|
428
|
+
(_q = customAbilities[model][ability]) === null || _q === void 0 ? void 0 : _q.operation;
|
|
429
|
+
if (!operation)
|
|
430
|
+
continue;
|
|
431
|
+
// biome-ignore lint/style/noNonNullAssertion: TODO fix this
|
|
432
|
+
abilities[model][ability] = __assign(__assign({}, customAbilities[model][ability]), { operation: operation,
|
|
433
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
434
|
+
model: model, slug: ability });
|
|
396
435
|
}
|
|
397
436
|
}
|
|
398
437
|
}
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
finally { if (e_5) throw e_5.error; }
|
|
405
|
-
}
|
|
406
|
-
roles = getRoles(abilities);
|
|
407
|
-
_b = abilities;
|
|
408
|
-
_c = [];
|
|
409
|
-
for (_d in _b)
|
|
410
|
-
_c.push(_d);
|
|
411
|
-
_i = 0;
|
|
412
|
-
_q.label = 1;
|
|
413
|
-
case 1:
|
|
414
|
-
if (!(_i < _c.length)) return [3 /*break*/, 8];
|
|
415
|
-
_d = _c[_i];
|
|
416
|
-
if (!(_d in _b)) return [3 /*break*/, 7];
|
|
417
|
-
model = _d;
|
|
418
|
-
table = model;
|
|
419
|
-
return [4 /*yield*/, prisma.$transaction([
|
|
420
|
-
takeLock(prisma),
|
|
421
|
-
prisma.$queryRawUnsafe("ALTER table \"".concat(table, "\" enable row level security;")),
|
|
422
|
-
])];
|
|
423
|
-
case 2:
|
|
424
|
-
_q.sent();
|
|
425
|
-
_e = abilities[model];
|
|
426
|
-
_f = [];
|
|
427
|
-
for (_g in _e)
|
|
428
|
-
_f.push(_g);
|
|
429
|
-
_h = 0;
|
|
430
|
-
_q.label = 3;
|
|
431
|
-
case 3:
|
|
432
|
-
if (!(_h < _f.length)) return [3 /*break*/, 7];
|
|
433
|
-
_g = _f[_h];
|
|
434
|
-
if (!(_g in _e)) return [3 /*break*/, 6];
|
|
435
|
-
slug = _g;
|
|
436
|
-
ability = abilities[model][slug];
|
|
437
|
-
if (!VALID_OPERATIONS.includes(ability.operation)) {
|
|
438
|
-
throw new Error("Invalid operation: ".concat(ability.operation));
|
|
438
|
+
}
|
|
439
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
440
|
+
finally {
|
|
441
|
+
try {
|
|
442
|
+
if (models_1_1 && !models_1_1.done && (_p = models_1.return)) _p.call(models_1);
|
|
439
443
|
}
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
444
|
+
finally { if (e_5) throw e_5.error; }
|
|
445
|
+
}
|
|
446
|
+
roles = getRoles(abilities);
|
|
447
|
+
_c = abilities;
|
|
448
|
+
_d = [];
|
|
449
|
+
for (_e in _c)
|
|
450
|
+
_d.push(_e);
|
|
451
|
+
_i = 0;
|
|
452
|
+
_r.label = 1;
|
|
453
|
+
case 1:
|
|
454
|
+
if (!(_i < _d.length)) return [3 /*break*/, 8];
|
|
455
|
+
_e = _d[_i];
|
|
456
|
+
if (!(_e in _c)) return [3 /*break*/, 7];
|
|
457
|
+
model = _e;
|
|
458
|
+
table = model;
|
|
459
|
+
return [4 /*yield*/, prisma.$transaction([
|
|
460
|
+
takeLock(prisma),
|
|
461
|
+
prisma.$queryRawUnsafe("ALTER table \"".concat(table, "\" enable row level security;")),
|
|
462
|
+
])];
|
|
463
|
+
case 2:
|
|
464
|
+
_r.sent();
|
|
465
|
+
_f = abilities[model];
|
|
466
|
+
_g = [];
|
|
467
|
+
for (_h in _f)
|
|
468
|
+
_g.push(_h);
|
|
469
|
+
_j = 0;
|
|
470
|
+
_r.label = 3;
|
|
471
|
+
case 3:
|
|
472
|
+
if (!(_j < _g.length)) return [3 /*break*/, 7];
|
|
473
|
+
_h = _g[_j];
|
|
474
|
+
if (!(_h in _f)) return [3 /*break*/, 6];
|
|
475
|
+
slug = _h;
|
|
476
|
+
ability =
|
|
477
|
+
// biome-ignore lint/style/noNonNullAssertion: TODO fix this
|
|
478
|
+
abilities[model][slug];
|
|
479
|
+
if (!VALID_OPERATIONS.includes(ability.operation)) {
|
|
480
|
+
throw new Error("Invalid operation: ".concat(ability.operation));
|
|
481
|
+
}
|
|
482
|
+
roleName = (0, exports.createAbilityName)(model, slug);
|
|
483
|
+
// Check if role already exists
|
|
484
|
+
return [4 /*yield*/, prisma.$transaction([
|
|
485
|
+
takeLock(prisma),
|
|
486
|
+
prisma.$queryRawUnsafe("\n\t\t\t\t\tdo\n\t\t\t\t\t$$\n\t\t\t\t\tbegin\n\t\t\t\t\tif not exists (select * from pg_catalog.pg_roles where rolname = '".concat(roleName, "') then \n\t\t\t\t\t\tcreate role ").concat(roleName, ";\n\t\t\t\t\tend if;\n\t\t\t\t\tend\n\t\t\t\t\t$$\n\t\t\t\t\t;\n\t\t\t\t")),
|
|
487
|
+
prisma.$queryRawUnsafe("\n\t\t\t\t\tGRANT ".concat(ability.operation, " ON \"").concat(table, "\" TO ").concat(roleName, ";\n\t\t\t\t")),
|
|
488
|
+
])];
|
|
489
|
+
case 4:
|
|
490
|
+
// Check if role already exists
|
|
491
|
+
_r.sent();
|
|
492
|
+
if (!ability.expression) return [3 /*break*/, 6];
|
|
493
|
+
return [4 /*yield*/, setRLS(prisma, table, roleName, ability.operation,
|
|
494
|
+
// biome-ignore lint/suspicious/noExplicitAny: TODO fix this
|
|
495
|
+
ability.expression)];
|
|
496
|
+
case 5:
|
|
497
|
+
_r.sent();
|
|
498
|
+
_r.label = 6;
|
|
499
|
+
case 6:
|
|
500
|
+
_j++;
|
|
501
|
+
return [3 /*break*/, 3];
|
|
502
|
+
case 7:
|
|
503
|
+
_i++;
|
|
504
|
+
return [3 /*break*/, 1];
|
|
505
|
+
case 8:
|
|
506
|
+
_loop_1 = function (key) {
|
|
507
|
+
var role, wildCardAbilities, roleAbilities, rlsRoles, userRoles, oldRoles;
|
|
508
|
+
return __generator(this, function (_s) {
|
|
509
|
+
switch (_s.label) {
|
|
510
|
+
case 0:
|
|
511
|
+
role = (0, exports.createRoleName)(key);
|
|
512
|
+
return [4 /*yield*/, prisma.$executeRawUnsafe("\n\t\t\tdo\n\t\t\t$$\n\t\t\tbegin\n\t\t\tif not exists (select * from pg_catalog.pg_roles where rolname = '".concat(role, "') then \n\t\t\t\tcreate role ").concat(role, ";\n\t\t\tend if;\n\t\t\tend\n\t\t\t$$\n\t\t\t;\n\t\t"))];
|
|
513
|
+
case 1:
|
|
514
|
+
_s.sent();
|
|
515
|
+
wildCardAbilities = (0, flatMap_1.default)(abilities, function (model, modelName) {
|
|
516
|
+
return (0, map_1.default)(model, function (_params, slug) {
|
|
517
|
+
return (0, exports.createAbilityName)(modelName, slug);
|
|
475
518
|
});
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
takeLock(prisma),
|
|
484
|
-
prisma.$executeRawUnsafe("GRANT ALL ON ALL TABLES IN SCHEMA public TO ".concat(role, ";")),
|
|
485
|
-
prisma.$executeRawUnsafe("\n\t\t\t\tGRANT ALL ON ALL SEQUENCES IN SCHEMA public TO ".concat(role, ";\n\t\t\t")),
|
|
486
|
-
prisma.$executeRawUnsafe("\n\t\t\t\tGRANT ALL ON SCHEMA public TO ".concat(role, ";\n\t\t\t")),
|
|
487
|
-
prisma.$queryRawUnsafe("GRANT ".concat(rlsRoles.join(", "), " TO ").concat(role)),
|
|
488
|
-
])];
|
|
489
|
-
case 2:
|
|
490
|
-
// 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.
|
|
491
|
-
// 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.
|
|
492
|
-
_r.sent();
|
|
493
|
-
return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\tWITH RECURSIVE cte AS (\n\t\t\t\tSELECT oid FROM pg_roles where rolname = '".concat(role, "'\n\t\t\t\tUNION ALL\n\t\t\t\tSELECT m.roleid\n\t\t\t\tFROM cte\n\t\t\t\tJOIN pg_auth_members m ON m.member = cte.oid\n\t\t\t\t)\n\t\t\tSELECT oid, oid::regrole::text AS rolename FROM cte where oid::regrole::text != '").concat(role, "'; \n\t "))];
|
|
494
|
-
case 3:
|
|
495
|
-
userRoles = _r.sent();
|
|
496
|
-
oldRoles = userRoles.filter(function (_a) {
|
|
497
|
-
var rolename = _a.rolename;
|
|
498
|
-
return !rlsRoles.includes(rolename);
|
|
499
|
-
}).map(function (_a) {
|
|
500
|
-
var rolename = _a.rolename;
|
|
501
|
-
return rolename;
|
|
519
|
+
});
|
|
520
|
+
roleAbilities = roles[key];
|
|
521
|
+
rlsRoles = roleAbilities === "*"
|
|
522
|
+
? wildCardAbilities
|
|
523
|
+
: roleAbilities.map(function (ability) {
|
|
524
|
+
// biome-ignore lint/style/noNonNullAssertion: TODO fix this
|
|
525
|
+
return (0, exports.createAbilityName)(ability.model, ability.slug);
|
|
502
526
|
});
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
527
|
+
// 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.
|
|
528
|
+
// 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.
|
|
529
|
+
return [4 /*yield*/, prisma.$transaction([
|
|
530
|
+
takeLock(prisma),
|
|
531
|
+
prisma.$executeRawUnsafe("GRANT ALL ON ALL TABLES IN SCHEMA public TO ".concat(role, ";")),
|
|
532
|
+
prisma.$executeRawUnsafe("\n\t\t\t\tGRANT ALL ON ALL SEQUENCES IN SCHEMA public TO ".concat(role, ";\n\t\t\t")),
|
|
533
|
+
prisma.$executeRawUnsafe("\n\t\t\t\tGRANT ALL ON SCHEMA public TO ".concat(role, ";\n\t\t\t")),
|
|
534
|
+
prisma.$queryRawUnsafe("GRANT ".concat(rlsRoles.join(", "), " TO ").concat(role)),
|
|
535
|
+
])];
|
|
536
|
+
case 2:
|
|
537
|
+
// 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.
|
|
538
|
+
// 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.
|
|
539
|
+
_s.sent();
|
|
540
|
+
return [4 /*yield*/, prisma.$queryRawUnsafe("\n\t\t\tWITH RECURSIVE cte AS (\n\t\t\t\tSELECT oid FROM pg_roles where rolname = '".concat(role, "'\n\t\t\t\tUNION ALL\n\t\t\t\tSELECT m.roleid\n\t\t\t\tFROM cte\n\t\t\t\tJOIN pg_auth_members m ON m.member = cte.oid\n\t\t\t\t)\n\t\t\tSELECT oid, oid::regrole::text AS rolename FROM cte where oid::regrole::text != '").concat(role, "'; \n\t "))];
|
|
541
|
+
case 3:
|
|
542
|
+
userRoles = _s.sent();
|
|
543
|
+
oldRoles = userRoles
|
|
544
|
+
.filter(function (_a) {
|
|
545
|
+
var rolename = _a.rolename;
|
|
546
|
+
return !rlsRoles.includes(rolename);
|
|
547
|
+
})
|
|
548
|
+
.map(function (_a) {
|
|
549
|
+
var rolename = _a.rolename;
|
|
550
|
+
return rolename;
|
|
551
|
+
});
|
|
552
|
+
if (!oldRoles.length) return [3 /*break*/, 5];
|
|
553
|
+
// Now revoke old roles from the user role
|
|
554
|
+
return [4 /*yield*/, prisma.$executeRawUnsafe("REVOKE ".concat(oldRoles.join(", "), " FROM ").concat(role))];
|
|
555
|
+
case 4:
|
|
556
|
+
// Now revoke old roles from the user role
|
|
557
|
+
_s.sent();
|
|
558
|
+
_s.label = 5;
|
|
559
|
+
case 5: return [2 /*return*/];
|
|
560
|
+
}
|
|
561
|
+
});
|
|
562
|
+
};
|
|
563
|
+
_k = roles;
|
|
564
|
+
_l = [];
|
|
565
|
+
for (_m in _k)
|
|
566
|
+
_l.push(_m);
|
|
567
|
+
_o = 0;
|
|
568
|
+
_r.label = 9;
|
|
569
|
+
case 9:
|
|
570
|
+
if (!(_o < _l.length)) return [3 /*break*/, 12];
|
|
571
|
+
_m = _l[_o];
|
|
572
|
+
if (!(_m in _k)) return [3 /*break*/, 11];
|
|
573
|
+
key = _m;
|
|
574
|
+
return [5 /*yield**/, _loop_1(key)];
|
|
575
|
+
case 10:
|
|
576
|
+
_r.sent();
|
|
577
|
+
_r.label = 11;
|
|
578
|
+
case 11:
|
|
579
|
+
_o++;
|
|
580
|
+
return [3 /*break*/, 9];
|
|
581
|
+
case 12: return [2 /*return*/];
|
|
582
|
+
}
|
|
535
583
|
});
|
|
536
|
-
};
|
|
584
|
+
}); };
|
|
537
585
|
exports.createRoles = createRoles;
|
|
538
586
|
/**
|
|
539
587
|
* Creates an extended client that sets contextual parameters and user role on every query
|
|
@@ -544,7 +592,11 @@ var setup = function (params) { return __awaiter(void 0, void 0, void 0, functio
|
|
|
544
592
|
switch (_a.label) {
|
|
545
593
|
case 0:
|
|
546
594
|
prisma = params.prisma, customAbilities = params.customAbilities, getRoles = params.getRoles, getContext = params.getContext;
|
|
547
|
-
return [4 /*yield*/, (0, exports.createRoles)({
|
|
595
|
+
return [4 /*yield*/, (0, exports.createRoles)({
|
|
596
|
+
prisma: prisma,
|
|
597
|
+
customAbilities: customAbilities,
|
|
598
|
+
getRoles: getRoles,
|
|
599
|
+
})];
|
|
548
600
|
case 1:
|
|
549
601
|
_a.sent();
|
|
550
602
|
client = (0, exports.createClient)(prisma, getContext, params.options);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iEAA2C;AAC3C,2DAAqC;AACrC,mDAA6B;AAC7B,2DAAqC;AACrC,6CAAiC;AACjC,6CAA8E;AAE9E,IAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAkD3E;;;GAGG;AACH,IAAM,QAAQ,GAAG,UAAC,MAAoB;IACrC,OAAA,MAAM,CAAC,iBAAiB,CAAC,oDAAoD,CAAC;AAA9E,CAA8E,CAAC;AAEhF;;;;;;GAMG;AACH,IAAM,cAAc,GAAG,UAAC,MAAc,EAAE,WAAmB;IAC1D,IAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzB,IAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAM,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,OAAO,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,kGAAkG;AAClG,IAAM,YAAY,GAAG,UAAC,IAAY;IACjC,OAAA,IAAI;SACF,WAAW,EAAE;SACb,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;SACjB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;AAH7B,CAG6B,CAAC;AAExB,IAAM,iBAAiB,GAAG,UAAC,KAAa,EAAE,OAAe;IAC/D,OAAO,YAAY,CAAC,cAAc,CAAC,gBAAgB,EAAE,UAAG,KAAK,cAAI,OAAO,CAAE,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B;AAEK,IAAM,cAAc,GAAG,UAAC,IAAY;IAC1C,OAAO,YAAY,CAAC,cAAc,CAAC,aAAa,EAAE,UAAG,IAAI,CAAE,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEF,0GAA0G;AACnG,IAAM,YAAY,GAAG,UAAC,MAAoB,EAAE,UAAwB,EAAE,OAA2B;IAA3B,wBAAA,EAAA,YAA2B;IACvG,sBAAsB;IACd,IAAA,KAAyC,OAAO,UAA/B,EAAjB,SAAS,mBAAG,KAAK,KAAA,EAAE,KAAsB,OAAO,UAAZ,EAAjB,SAAS,mBAAG,KAAK,KAAA,CAAa;IACzD,IAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE;YACN,UAAU,EAAE;gBACL,cAAc,YAAC,MAAM;;;;;;;;;oCAClB,KAAK,GAA6B,MAAM,MAAnC,EAAE,IAAI,GAAuB,MAAM,KAA7B,EAAE,KAAK,GAAgB,MAAM,MAAtB,EAAE,SAAS,GAAK,MAAM,UAAX,CAAY;oCACjD,IAAI,CAAC,KAAK,EAAE,CAAC;wCACZ,sBAAQ,KAAa,CAAC,IAAI,CAAC,EAAC;oCAC7B,CAAC;oCAEK,GAAG,GAAG,UAAU,EAAE,CAAC;oCAEzB,uDAAuD;oCACvD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;wCAClB,sBAAO,KAAK,CAAC,IAAI,CAAC,EAAC;oCACpB,CAAC;oCAEO,IAAI,GAAc,GAAG,KAAjB,EAAE,OAAO,GAAK,GAAG,QAAR,CAAS;oCAExB,MAAM,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,CAAC;oCAEpC,IAAI,OAAO,EAAE,CAAC;;4CACb,KAAgB,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,4CAAE,CAAC;gDAA5B,CAAC;gDACX,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;oDAC7B,MAAM,IAAI,KAAK,CACd,6BAAqB,CAAC,6HAAyH,CAC/I,CAAC;gDACH,CAAC;gDACD,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oDACpG,MAAM,IAAI,KAAK,CAAC,6BAAqB,CAAC,uDAA4C,OAAO,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;gDACxG,CAAC;gDACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;;wDAC/B,KAAgB,oBAAA,SAAA,OAAO,CAAC,CAAC,CAAU,CAAA,CAAA,4CAAE,CAAC;4DAA3B,CAAC;4DACX,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gEAC3B,MAAM,IAAI,KAAK,CAAC,6BAAqB,CAAC,iDAAsC,OAAO,CAAC,CAAE,CAAC,CAAC;4DACzF,CAAC;wDACF,CAAC;;;;;;;;;oDACD,kEAAkE;oDAClE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gDACzC,CAAC;4CACF,CAAC;;;;;;;;;oCACF,CAAC;;;;oCAOqB,qBAAM,MAAM,CAAC,YAAY,CAC7C,UAAO,EAAE;;;;;;oDACR,oJAAoJ;oDACpJ,qBAAM,EAAE,CAAC,eAAe,CAAC,mBAAY,MAAM,CAAE,CAAC,EAAA;;wDAD9C,oJAAoJ;wDACpJ,SAA8C,CAAC;;;;wDAEpB,KAAA,SAAA,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAA;;;;wDAAhC,KAAA,mBAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;wDACrB,qBAAM,EAAE,CAAC,SAAS,0GAAA,oBAAqB,EAAG,IAAK,EAAgB,WAAW,KAAnC,GAAG,EAAK,KAAK,CAAC,QAAQ,EAAE,GAAW;;wDAA1E,SAA0E,CAAC;;;;;;;;;;;;;;;;;wDAQtE,IAAI,GAAI,EAAU,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC;wDAG/D,gBAAgB,GAAI,MAAc,CAAC,gBAAgB,CAAC;wDAC3C,qBAAM,MAAM,CAAC,eAAe,uBACvC,gBAAgB,KACnB,WAAW,EAAE;oEACZ,IAAI,EAAE,KAAK;oEACX,EAAE,EAAE,IAAI;iEACR,IACA,EAAA;;wDANI,MAAM,GAAG,SAMb;wDACF,iCAAiC;wDACjC,qBAAM,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,EAAA;;wDADzC,iCAAiC;wDACjC,SAAyC,CAAC;wDAE1C,sBAAO,MAAM,EAAC;;;6CACd,EACD;4CACC,OAAO,EAAE,SAAS;4CAClB,OAAO,EAAE,SAAS;yCAClB,CACD,EAAA;;oCAlCK,YAAY,GAAG,SAkCpB;oCAED,sBAAO,YAAY,EAAC;;;oCAEpB,yDAAyD;oCACzD,IAAI,MAAA,GAAC,CAAC,OAAO,0CAAE,QAAQ,CAAC,sDAAsD,CAAC,EAAE,CAAC;wCACjF,MAAM,IAAI,KAAK,CAAC,6DAAsD,KAAK,cAAI,SAAS,UAAO,CAAC,CAAC;oCAClG,CAAC;oCAED,MAAM,GAAC,CAAC;;;;;iBAET;aACD;SACD;KACD,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAtGW,QAAA,YAAY,gBAsGvB;AAEF,IAAM,MAAM,GAAG,UACd,MAAoB,EACpB,KAAa,EACb,QAAgB,EAChB,SAAoB,EACpB,aAA8C;;;;oBAE7B,qBAAM,IAAA,6BAAe,EAAC,aAAa,EAAE,KAAK,CAAC,EAAA;;gBAAxD,UAAU,GAAG,SAA2C;gBAGtD,UAAU,GAAG,QAAQ,CAAC;gBACR,qBAAM,MAAM,CAAC,eAAe,CAAC,wEACU,KAAK,iCAAuB,UAAU,WAChG,CAAC,EAAA;;gBAFI,IAAI,GAAU,SAElB;qBAEE,CAAA,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA,EAAjB,wBAAiB;qBAEhB,CAAA,SAAS,KAAK,QAAQ,CAAA,EAAtB,wBAAsB;gBACzB,qBAAM,MAAM,CAAC,eAAe,CAAC,kCACR,UAAU,8BAAiB,KAAK,oBAAS,SAAS,iBAAO,QAAQ,0BAAgB,UAAU,eAC5G,CAAC,EAAA;;gBAFL,SAEK,CAAC;;oBAEN,qBAAM,MAAM,CAAC,eAAe,CAAC,kCACR,UAAU,8BAAiB,KAAK,oBAAS,SAAS,iBAAO,QAAQ,qBAAW,UAAU,eACvG,CAAC,EAAA;;gBAFL,SAEK,CAAC;;;;qBAEG,CAAA,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAA,EAA3B,yBAA2B;qBACjC,CAAA,SAAS,KAAK,QAAQ,CAAA,EAAtB,wBAAsB;gBACzB,qBAAM,MAAM,CAAC,eAAe,CAAC,iCACT,UAAU,8BAAiB,KAAK,mBAAQ,QAAQ,0BAAgB,UAAU,eAC1F,CAAC,EAAA;;gBAFL,SAEK,CAAC;;oBAEN,qBAAM,MAAM,CAAC,eAAe,CAAC,iCACT,UAAU,8BAAiB,KAAK,mBAAQ,QAAQ,qBAAW,UAAU,eACrF,CAAC,EAAA;;gBAFL,SAEK,CAAC;;;;;KAGR,CAAC;AAEK,IAAM,WAAW,GAAG,UAKzB,EAUD;QATA,MAAM,YAAA,EACN,eAAe,qBAAA,EACf,QAAQ,cAAA;;;;;;;;oBAQF,SAAS,GAA8B,EAAE,CAAC;oBAM1C,gBAAgB,GAAI,MAAc,CAAC,iBAAqC,CAAC;oBACzE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAtC,CAAsC,CAAa,CAAC;oBACnH,IAAI,eAAe,EAAE,CAAC;wBACf,IAAI,GAAG,IAAA,oBAAU,EAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,CAAC;wBAC9D,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BACjB,MAAM,IAAI,KAAK,CAAC,8CAAuC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC;wBAC3E,CAAC;oBACF,CAAC;;wBACD,KAAoB,WAAA,SAAA,MAAM,CAAA,gFAAE,CAAC;4BAAlB,KAAK;4BACf,SAAS,CAAC,KAAK,CAAC,GAAG;gCAClB,MAAM,EAAE;oCACP,WAAW,EAAE,iBAAU,KAAK,CAAE;oCAC9B,UAAU,EAAE,MAAM;oCAClB,SAAS,EAAE,QAAQ;oCACnB,KAAK,EAAE,KAAY;oCACnB,IAAI,EAAE,QAAQ;iCACd;gCACD,IAAI,EAAE;oCACL,WAAW,EAAE,eAAQ,KAAK,CAAE;oCAC5B,UAAU,EAAE,MAAM;oCAClB,SAAS,EAAE,QAAQ;oCACnB,KAAK,EAAE,KAAY;oCACnB,IAAI,EAAE,MAAM;iCACZ;gCACD,MAAM,EAAE;oCACP,WAAW,EAAE,iBAAU,KAAK,CAAE;oCAC9B,UAAU,EAAE,MAAM;oCAClB,SAAS,EAAE,QAAQ;oCACnB,KAAK,EAAE,KAAY;oCACnB,IAAI,EAAE,QAAQ;iCACd;gCACD,MAAM,EAAE;oCACP,WAAW,EAAE,iBAAU,KAAK,CAAE;oCAC9B,UAAU,EAAE,MAAM;oCAClB,SAAS,EAAE,QAAQ;oCACnB,KAAK,EAAE,KAAY;oCACnB,IAAI,EAAE,QAAQ;iCACd;6BACD,CAAC;4BACF,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,KAAK,CAAC,EAAE,CAAC;gCAC9B,KAAW,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;oCACxC,SAAS,GAAG,MAAA,eAAe,CAAC,KAAK,CAAE,CAAC,OAAyB,CAAC,0CAAE,SAAS,CAAC;oCAChF,IAAI,CAAC,SAAS;wCAAE,SAAS;oCACzB,SAAS,CAAC,KAAK,CAAE,CAAC,OAAyB,CAAC,yBACxC,eAAe,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC,KACnC,SAAS,WAAA,EACT,KAAK,EAAE,KAAY,EACnB,IAAI,EAAE,OAAO,GACb,CAAC;gCACH,CAAC;4BACF,CAAC;wBACF,CAAC;;;;;;;;;oBAEK,KAAK,GAAG,QAAQ,CAAC,SAAc,CAAC,CAAC;yBAInB,SAAS;;;;;;;;;;;oBACtB,KAAK,GAAG,KAAK,CAAC;oBAEpB,qBAAM,MAAM,CAAC,YAAY,CAAC;4BACzB,QAAQ,CAAC,MAAM,CAAC;4BAChB,MAAM,CAAC,eAAe,CAAC,wBAAgB,KAAK,kCAA8B,CAAC;yBAC3E,CAAC,EAAA;;oBAHF,SAGE,CAAC;yBAEgB,SAAS,CAAC,KAA+B,CAAC;;;;;;;;;;;oBACtD,OAAO,GAAG,SAAS,CAAC,KAA+B,CAAE,CAAC,IAAsB,CAAC,CAAC;oBAEpF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;wBACnD,MAAM,IAAI,KAAK,CAAC,6BAAsB,OAAO,CAAC,SAAS,CAAE,CAAC,CAAC;oBAC5D,CAAC;oBAEK,QAAQ,GAAG,IAAA,yBAAiB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAEhD,+BAA+B;oBAC/B,qBAAM,MAAM,CAAC,YAAY,CAAC;4BACzB,QAAQ,CAAC,MAAM,CAAC;4BAChB,MAAM,CAAC,eAAe,CAAC,qIAI8C,QAAQ,+CAC7D,QAAQ,6EAKvB,CAAC;4BACF,MAAM,CAAC,eAAe,CAAC,4BACd,OAAO,CAAC,SAAS,mBAAQ,KAAK,mBAAQ,QAAQ,gBACtD,CAAC;yBACF,CAAC,EAAA;;oBAjBF,+BAA+B;oBAC/B,SAgBE,CAAC;yBAEC,OAAO,CAAC,UAAU,EAAlB,wBAAkB;oBACrB,qBAAM,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAiB,CAAC,EAAA;;oBAAnF,SAAmF,CAAC;;;;;;;;;wCAQ5E,GAAG;;;;;oCACP,IAAI,GAAG,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAC;oCACjC,qBAAM,MAAM,CAAC,iBAAiB,CAAC,qHAIsC,IAAI,2CACzD,IAAI,yDAKnB,CAAC,EAAA;;oCAVF,SAUE,CAAC;oCAEG,iBAAiB,GAAG,IAAA,iBAAO,EAAC,SAAS,EAAE,UAAC,KAAK,EAAE,SAAS;wCAC7D,OAAO,IAAA,aAAG,EAAC,KAAK,EAAE,UAAC,OAAO,EAAE,IAAI;4CAC/B,OAAO,IAAA,yBAAiB,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wCAC3C,CAAC,CAAC,CAAC;oCACJ,CAAC,CAAC,CAAC;oCACG,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oCAC3B,QAAQ,GACb,aAAa,KAAK,GAAG;wCACpB,CAAC,CAAC,iBAAiB;wCACnB,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,UAAC,OAAO,IAAK,OAAA,IAAA,yBAAiB,EAAC,OAAO,CAAC,KAAM,EAAE,OAAO,CAAC,IAAK,CAAC,EAAhD,CAAgD,CAAC,CAAC;oCAErF,4IAA4I;oCAC5I,+JAA+J;oCAC/J,qBAAM,MAAM,CAAC,YAAY,CAAC;4CACzB,QAAQ,CAAC,MAAM,CAAC;4CAChB,MAAM,CAAC,iBAAiB,CAAC,sDAA+C,IAAI,MAAG,CAAC;4CAChF,MAAM,CAAC,iBAAiB,CAAC,mEACyB,IAAI,cACrD,CAAC;4CACF,MAAM,CAAC,iBAAiB,CAAC,kDACQ,IAAI,cACpC,CAAC;4CACF,MAAM,CAAC,eAAe,CAAC,gBAAS,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAO,IAAI,CAAE,CAAC;yCACjE,CAAC,EAAA;;oCAZF,4IAA4I;oCAC5I,+JAA+J;oCAC/J,SAUE,CAAC;oCAGyD,qBAAM,MAAM,CAAC,eAAe,CAAC,6FAE3C,IAAI,0OAMkC,IAAI,aACvF,CAAC,EAAA;;oCATI,SAAS,GAA6C,SAS1D;oCAEI,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,UAAC,EAAY;4CAAV,QAAQ,cAAA;wCAAO,OAAA,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;oCAA5B,CAA4B,CAAC,CAAC,GAAG,CAAC,UAAC,EAAY;4CAAV,QAAQ,cAAA;wCAAO,OAAA,QAAQ;oCAAR,CAAQ,CAAC,CAAC;yCAC9G,QAAQ,CAAC,MAAM,EAAf,wBAAe;oCAClB,0CAA0C;oCAC1C,qBAAM,MAAM,CAAC,iBAAiB,CAAC,iBAAU,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAS,IAAI,CAAE,CAAC,EAAA;;oCAD5E,0CAA0C;oCAC1C,SAA4E,CAAC;;;;;;yBAtD7D,KAAK;;;;;;;;;;;kDAAZ,GAAG;;;;;;;;;;;CAyDd,CAAC;AArLW,QAAA,WAAW,eAqLtB;AAgCF;;IAEI;AACG,IAAM,KAAK,GAAG,UAKpB,MAA4C;;;;;gBAEpC,MAAM,GAA4C,MAAM,OAAlD,EAAE,eAAe,GAA2B,MAAM,gBAAjC,EAAE,QAAQ,GAAiB,MAAM,SAAvB,EAAE,UAAU,GAAK,MAAM,WAAX,CAAY;gBACjE,qBAAM,IAAA,mBAAW,EAA0B,EAAE,MAAM,QAAA,EAAE,eAAe,iBAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAA;;gBAAjF,SAAiF,CAAC;gBAC5E,MAAM,GAAG,IAAA,oBAAY,EAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAEhE,sBAAO,MAAM,EAAC;;;KACd,CAAC;AAZW,QAAA,KAAK,SAYhB"}
|
|
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.3.2-beta.dangerous.
|
|
3
|
+
"version": "3.3.2-beta.dangerous.6e79492",
|
|
4
4
|
"description": "Role based access control for Prisma Apps",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
"scripts": {
|
|
12
12
|
"generate": "prisma generate",
|
|
13
13
|
"build": "rimraf dist && tsc -p tsconfig.build.json",
|
|
14
|
-
"test": "
|
|
15
|
-
"lint
|
|
14
|
+
"test": "npm run lint",
|
|
15
|
+
"lint": "biome check .",
|
|
16
|
+
"lint:fix": "biome check . --apply",
|
|
16
17
|
"test:types": "tsc --noEmit",
|
|
17
18
|
"test:integration": "jest --runInBand test/integration",
|
|
18
19
|
"test:compose:integration": "docker compose -f docker-compose.yml --profile with-sut up db sut --exit-code-from sut",
|
|
@@ -22,19 +23,18 @@
|
|
|
22
23
|
"author": "Cerebrum <hello@cerebrum.com> (https://cerebrum.com)",
|
|
23
24
|
"license": "MIT",
|
|
24
25
|
"devDependencies": {
|
|
26
|
+
"@biomejs/biome": "1.5.3",
|
|
25
27
|
"@prisma/client": "^5.0.0",
|
|
26
28
|
"@types/cls-hooked": "^4.3.3",
|
|
27
29
|
"@types/jest": "^29.2.6",
|
|
28
30
|
"@types/lodash": "^4.14.191",
|
|
29
31
|
"@types/uuid": "^9.0.0",
|
|
30
32
|
"cls-hooked": "^4.2.2",
|
|
31
|
-
"eslint": "^8.57.0",
|
|
32
33
|
"jest": "^29.3.1",
|
|
33
34
|
"prisma": "^5.0.0",
|
|
34
35
|
"rimraf": "^5.0.5",
|
|
35
36
|
"ts-jest": "^29.0.5",
|
|
36
37
|
"typescript": "^5.3.3",
|
|
37
|
-
"typescript-eslint": "^7.0.2",
|
|
38
38
|
"uuid": "^9.0.0"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|