@cerebruminc/yates 3.1.0 → 3.1.1-beta.dangerous.d7c1b0d
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 +7 -0
- package/README.md +14 -0
- package/dist/expressions.js +92 -31
- package/dist/expressions.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [3.1.1](https://github.com/cerebruminc/yates/compare/v3.1.0...v3.1.1) (2024-01-15)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* support client expressions that query 1:1 relationships ([4cb0e1f](https://github.com/cerebruminc/yates/commit/4cb0e1fefa903ef0a6b2ac0ca7286968e8fe5c09))
|
|
9
|
+
|
|
3
10
|
## [3.1.0](https://github.com/cerebruminc/yates/compare/v3.0.2...v3.1.0) (2024-01-09)
|
|
4
11
|
|
|
5
12
|
|
package/README.md
CHANGED
|
@@ -159,6 +159,20 @@ When defining an ability you need to provide the following properties:
|
|
|
159
159
|
Yates uses a transaction to apply the RLS policies to each query. This means that if you are using transactions in your application, rollbacks will not work as expected. This is because [Prisma has poor support for nested transactions](https://github.com/prisma/prisma/issues/15212) and will `COMMIT` the inner transaction even if the outer transaction is rolled back.
|
|
160
160
|
If you need this functionality and you are using Yates, you can return `null` from the `getContext()` setup method to bypass the internal transaction, and therefore the RLS policies for the current request. see the `nested-transactions.spec.ts` test case for an example of how to do this.
|
|
161
161
|
|
|
162
|
+
### Unsupported Prisma Client query features
|
|
163
|
+
|
|
164
|
+
If you are using the Prisma client to construct an ability expression, the following `where` keywords are not supported.
|
|
165
|
+
|
|
166
|
+
- `AND`
|
|
167
|
+
- `OR`
|
|
168
|
+
- `NOT`
|
|
169
|
+
- `is`
|
|
170
|
+
- `isNot`
|
|
171
|
+
|
|
172
|
+
Additionally, using context or row values to query Prisma Enums is not supported.
|
|
173
|
+
|
|
174
|
+
If you need to use these expressions, you can use the `expression` property of the ability to write a raw SQL expression instead.
|
|
175
|
+
|
|
162
176
|
## License
|
|
163
177
|
|
|
164
178
|
The project is licensed under the MIT license.
|
package/dist/expressions.js
CHANGED
|
@@ -46,6 +46,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
+
var __values = (this && this.__values) || function(o) {
|
|
50
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
51
|
+
if (m) return m.call(o);
|
|
52
|
+
if (o && typeof o.length === "number") return {
|
|
53
|
+
next: function () {
|
|
54
|
+
if (o && i >= o.length) o = void 0;
|
|
55
|
+
return { value: o && o[i++], done: !o };
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
59
|
+
};
|
|
49
60
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
61
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
62
|
};
|
|
@@ -103,6 +114,7 @@ table,
|
|
|
103
114
|
model,
|
|
104
115
|
/** The tokens object to add the new tokens to */
|
|
105
116
|
tokens) {
|
|
117
|
+
var e_1, _a;
|
|
106
118
|
if (tokens === void 0) { tokens = {}; }
|
|
107
119
|
for (var field in where) {
|
|
108
120
|
// Get field data from the prisma client for the model and field being queried
|
|
@@ -117,13 +129,22 @@ tokens) {
|
|
|
117
129
|
// Check if the field is an object, if so, we need to recurse
|
|
118
130
|
// This is a fairly simple approach but covers most cases like "some", "every", "none" etc.
|
|
119
131
|
if (fieldData.kind === "object") {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
132
|
+
// List queries will always have a sub-object of "every", "some" or "none", so we need to dropdown and iterate through them
|
|
133
|
+
if (fieldData.isList) {
|
|
134
|
+
for (var subField in value) {
|
|
135
|
+
var subValue = value[subField];
|
|
136
|
+
var _b = tokenizeWhereExpression(client, subValue, table, fieldData.type, tokens), subTokens = _b.tokens, subWhere = _b.where;
|
|
137
|
+
tokens = __assign(__assign({}, tokens), subTokens);
|
|
138
|
+
where[field][subField] = subWhere;
|
|
139
|
+
}
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
var _c = tokenizeWhereExpression(client, value, table, fieldData.type, tokens), subTokens = _c.tokens, subWhere = _c.where;
|
|
123
144
|
tokens = __assign(__assign({}, tokens), subTokens);
|
|
124
|
-
where[field]
|
|
145
|
+
where[field] = subWhere;
|
|
146
|
+
continue;
|
|
125
147
|
}
|
|
126
|
-
continue;
|
|
127
148
|
}
|
|
128
149
|
var isNumeric = PRISMA_NUMERIC_TYPES.includes(fieldData.type);
|
|
129
150
|
var isColumnName = typeof value === "string" && !!value.match(/^___yates_row_/);
|
|
@@ -192,28 +213,39 @@ tokens) {
|
|
|
192
213
|
};
|
|
193
214
|
break;
|
|
194
215
|
case isInStatement:
|
|
216
|
+
// This is a bit hokey, but we are going to assume that each value here is static, and
|
|
217
|
+
// perform tokenization on each value in the `in` array.
|
|
218
|
+
// The ideal solution is to rework this tokenization function so that it recurses until it
|
|
219
|
+
// finds a scalar value, and then tokenizes that value, with checking for row/context values.
|
|
195
220
|
if (Array.isArray(value["in"])) {
|
|
196
|
-
var
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
221
|
+
var tokenList = [];
|
|
222
|
+
try {
|
|
223
|
+
for (var _d = (e_1 = void 0, __values(value["in"])), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
224
|
+
var item = _e.value;
|
|
225
|
+
var inToken = void 0;
|
|
226
|
+
do {
|
|
227
|
+
inToken = getLargeRandomInt();
|
|
228
|
+
} while (tokens[int]);
|
|
229
|
+
tokens[inToken] = {
|
|
230
|
+
astFragment: {
|
|
231
|
+
type: "parameter",
|
|
232
|
+
value: (0, escape_1.escapeLiteral)(item)
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
tokenList.push(isNumeric ? inToken : "".concat(inToken));
|
|
236
|
+
}
|
|
202
237
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
type: "column_ref",
|
|
208
|
-
schema: "public",
|
|
209
|
-
table: table,
|
|
210
|
-
column: field
|
|
211
|
-
},
|
|
212
|
-
right: {
|
|
213
|
-
type: "expr_list",
|
|
214
|
-
value: values
|
|
238
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
239
|
+
finally {
|
|
240
|
+
try {
|
|
241
|
+
if (_e && !_e.done && (_a = _d["return"])) _a.call(_d);
|
|
215
242
|
}
|
|
243
|
+
finally { if (e_1) throw e_1.error; }
|
|
244
|
+
}
|
|
245
|
+
where[field] = {
|
|
246
|
+
"in": tokenList
|
|
216
247
|
};
|
|
248
|
+
continue;
|
|
217
249
|
}
|
|
218
250
|
else {
|
|
219
251
|
// If the value of `in` is a context value, we assume that it is an array that has been JSON encoded
|
|
@@ -280,6 +312,7 @@ var expressionToSQL = function (getExpression, table) { return __awaiter(void 0,
|
|
|
280
312
|
rawExpression = getExpression(expressionClient, expressionRowName, expressionContext);
|
|
281
313
|
isSubselect = typeof rawExpression === "object" && typeof rawExpression.then === "function";
|
|
282
314
|
baseClient.$on("query", function (e) {
|
|
315
|
+
var e_2, _a, e_3, _b;
|
|
283
316
|
try {
|
|
284
317
|
var parser = new node_sql_parser_1.Parser();
|
|
285
318
|
// Parse the query into an AST
|
|
@@ -293,20 +326,48 @@ var expressionToSQL = function (getExpression, table) { return __awaiter(void 0,
|
|
|
293
326
|
for (var i = 0; i < params.length; i++) {
|
|
294
327
|
var param = params[i];
|
|
295
328
|
var token = tokens[param];
|
|
329
|
+
// If there is no token, we can skip this. The most likely cause of this is that the parameter is for a limit or offset, which we cull from the SQL anyway
|
|
296
330
|
if (!token) {
|
|
297
331
|
continue;
|
|
298
332
|
}
|
|
299
333
|
var parameterizedStatement = deepFind(ast, {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
prefix: "$"
|
|
304
|
-
}
|
|
334
|
+
type: "var",
|
|
335
|
+
name: i + 1,
|
|
336
|
+
prefix: "$"
|
|
305
337
|
});
|
|
306
|
-
|
|
307
|
-
|
|
338
|
+
// If we found a matching parameterized statement, we can replace it with the AST fragment.
|
|
339
|
+
// This will replace the parameter with the original value.
|
|
340
|
+
// We do this by mutating the object returned from the deepfind function.
|
|
341
|
+
if (parameterizedStatement) {
|
|
342
|
+
try {
|
|
343
|
+
// First, scrub all the keys from the parameterized statement
|
|
344
|
+
for (var _c = (e_2 = void 0, __values(Object.keys(parameterizedStatement))), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
345
|
+
var key = _d.value;
|
|
346
|
+
Reflect.deleteProperty(parameterizedStatement, key);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
350
|
+
finally {
|
|
351
|
+
try {
|
|
352
|
+
if (_d && !_d.done && (_a = _c["return"])) _a.call(_c);
|
|
353
|
+
}
|
|
354
|
+
finally { if (e_2) throw e_2.error; }
|
|
355
|
+
}
|
|
356
|
+
try {
|
|
357
|
+
// Second, add all the keys from the AST fragment to the parameterized statement
|
|
358
|
+
for (var _e = (e_3 = void 0, __values(Object.keys(token.astFragment))), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
359
|
+
var key = _f.value;
|
|
360
|
+
parameterizedStatement[key] = token.astFragment[key];
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
364
|
+
finally {
|
|
365
|
+
try {
|
|
366
|
+
if (_f && !_f.done && (_b = _e["return"])) _b.call(_e);
|
|
367
|
+
}
|
|
368
|
+
finally { if (e_3) throw e_3.error; }
|
|
369
|
+
}
|
|
308
370
|
}
|
|
309
|
-
parameterizedStatement.right = token.astFragment;
|
|
310
371
|
}
|
|
311
372
|
if (isSubselect) {
|
|
312
373
|
// For subselects, we need to convert the entire query and wrap in EXISTS so it converts to a binary expression
|
package/dist/expressions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../src/expressions.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.1.
|
|
3
|
+
"version": "3.1.1-beta.dangerous.d7c1b0d",
|
|
4
4
|
"description": "Role based access control for Prisma Apps",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -37,4 +37,4 @@
|
|
|
37
37
|
"@prisma/client": "^5.0.0",
|
|
38
38
|
"prisma": "^5.0.0"
|
|
39
39
|
}
|
|
40
|
-
}
|
|
40
|
+
}
|