zenstack 2.2.1 → 2.2.3
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 +1 -0
- package/language-server/validator/expression-validator.d.ts +1 -0
- package/language-server/validator/expression-validator.js +48 -28
- package/language-server/validator/expression-validator.js.map +1 -1
- package/package.json +4 -4
- package/plugins/enhancer/policy/policy-guard-generator.d.ts +0 -1
- package/plugins/enhancer/policy/policy-guard-generator.js +2 -61
- package/plugins/enhancer/policy/policy-guard-generator.js.map +1 -1
- package/plugins/enhancer/policy/utils.js +26 -4
- package/plugins/enhancer/policy/utils.js.map +1 -1
package/README.md
CHANGED
|
@@ -234,6 +234,7 @@ Thank you for your support!
|
|
|
234
234
|
|
|
235
235
|
<table>
|
|
236
236
|
<tr>
|
|
237
|
+
<td align="center"><a href="https://github.com/Mermaid-Chart"><img src="https://avatars.githubusercontent.com/u/117662492?s=200&v=4" width="100" style="border-radius:50%" alt="Mermaid Chart"/><br />Mermaid Chart</a></td>
|
|
237
238
|
<td align="center"><a href="https://github.com/coderabbitai"><img src="https://avatars.githubusercontent.com/u/132028505?v=4" width="100" style="border-radius:50%" alt="CodeRabbit"/><br />CodeRabbit</a></td>
|
|
238
239
|
<td align="center"><a href="https://github.com/j0hannr"><img src="https://avatars.githubusercontent.com/u/52762073?v=4" width="100" style="border-radius:50%" alt="Johann Rohn"/><br />Johann Rohn</a></td>
|
|
239
240
|
|
|
@@ -7,6 +7,7 @@ import { AstValidator } from '../types';
|
|
|
7
7
|
export default class ExpressionValidator implements AstValidator<Expression> {
|
|
8
8
|
validate(expr: Expression, accept: ValidationAcceptor): void;
|
|
9
9
|
private validateBinaryExpr;
|
|
10
|
+
private validateCrossModelFieldComparison;
|
|
10
11
|
private validateCollectionPredicate;
|
|
11
12
|
private isInValidationContext;
|
|
12
13
|
private isNotModelFieldExpr;
|
|
@@ -57,6 +57,7 @@ class ExpressionValidator {
|
|
|
57
57
|
node: expr.right,
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
|
+
this.validateCrossModelFieldComparison(expr, accept);
|
|
60
61
|
break;
|
|
61
62
|
}
|
|
62
63
|
case '>':
|
|
@@ -102,6 +103,9 @@ class ExpressionValidator {
|
|
|
102
103
|
expr.left.$resolvedType.decl !== 'DateTime') {
|
|
103
104
|
accept('error', 'incompatible operand types', { node: expr });
|
|
104
105
|
}
|
|
106
|
+
if (expr.operator !== '&&' && expr.operator !== '||') {
|
|
107
|
+
this.validateCrossModelFieldComparison(expr, accept);
|
|
108
|
+
}
|
|
105
109
|
break;
|
|
106
110
|
}
|
|
107
111
|
case '==':
|
|
@@ -118,33 +122,8 @@ class ExpressionValidator {
|
|
|
118
122
|
accept('error', 'incompatible operand types', { node: expr });
|
|
119
123
|
break;
|
|
120
124
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
// - foo.user.id == userId
|
|
124
|
-
// except:
|
|
125
|
-
// - future().userId == userId
|
|
126
|
-
if (((0, ast_1.isMemberAccessExpr)(expr.left) &&
|
|
127
|
-
(0, ast_1.isDataModelField)(expr.left.member.ref) &&
|
|
128
|
-
expr.left.member.ref.$container != (0, ast_utils_1.getContainingDataModel)(expr)) ||
|
|
129
|
-
((0, ast_1.isMemberAccessExpr)(expr.right) &&
|
|
130
|
-
(0, ast_1.isDataModelField)(expr.right.member.ref) &&
|
|
131
|
-
expr.right.member.ref.$container != (0, ast_utils_1.getContainingDataModel)(expr))) {
|
|
132
|
-
// foo.user.id == auth().id
|
|
133
|
-
// foo.user.id == "123"
|
|
134
|
-
// foo.user.id == null
|
|
135
|
-
// foo.user.id == EnumValue
|
|
136
|
-
if (!(this.isNotModelFieldExpr(expr.left) || this.isNotModelFieldExpr(expr.right))) {
|
|
137
|
-
const containingPolicyAttr = (0, ast_utils_1.findUpAst)(expr, (node) => (0, ast_1.isDataModelAttribute)(node) && ['@@allow', '@@deny'].includes(node.decl.$refText));
|
|
138
|
-
if (containingPolicyAttr) {
|
|
139
|
-
const operation = (0, sdk_1.getAttributeArgLiteral)(containingPolicyAttr, 'operation');
|
|
140
|
-
if ((operation === null || operation === void 0 ? void 0 : operation.split(',').includes('all')) || (operation === null || operation === void 0 ? void 0 : operation.split(',').includes('read'))) {
|
|
141
|
-
accept('error', 'comparison between fields of different models is not supported in model-level "read" rules', {
|
|
142
|
-
node: expr,
|
|
143
|
-
});
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
125
|
+
if (!this.validateCrossModelFieldComparison(expr, accept)) {
|
|
126
|
+
break;
|
|
148
127
|
}
|
|
149
128
|
if ((((_k = expr.left.$resolvedType) === null || _k === void 0 ? void 0 : _k.nullable) && (0, ast_1.isNullExpr)(expr.right)) ||
|
|
150
129
|
(((_l = expr.right.$resolvedType) === null || _l === void 0 ? void 0 : _l.nullable) && (0, ast_1.isNullExpr)(expr.left))) {
|
|
@@ -196,6 +175,37 @@ class ExpressionValidator {
|
|
|
196
175
|
break;
|
|
197
176
|
}
|
|
198
177
|
}
|
|
178
|
+
validateCrossModelFieldComparison(expr, accept) {
|
|
179
|
+
// not supported in "read" rules:
|
|
180
|
+
// - foo.a == bar
|
|
181
|
+
// - foo.user.id == userId
|
|
182
|
+
// except:
|
|
183
|
+
// - future().userId == userId
|
|
184
|
+
if (((0, ast_1.isMemberAccessExpr)(expr.left) &&
|
|
185
|
+
(0, ast_1.isDataModelField)(expr.left.member.ref) &&
|
|
186
|
+
expr.left.member.ref.$container != (0, ast_utils_1.getContainingDataModel)(expr)) ||
|
|
187
|
+
((0, ast_1.isMemberAccessExpr)(expr.right) &&
|
|
188
|
+
(0, ast_1.isDataModelField)(expr.right.member.ref) &&
|
|
189
|
+
expr.right.member.ref.$container != (0, ast_utils_1.getContainingDataModel)(expr))) {
|
|
190
|
+
// foo.user.id == auth().id
|
|
191
|
+
// foo.user.id == "123"
|
|
192
|
+
// foo.user.id == null
|
|
193
|
+
// foo.user.id == EnumValue
|
|
194
|
+
if (!(this.isNotModelFieldExpr(expr.left) || this.isNotModelFieldExpr(expr.right))) {
|
|
195
|
+
const containingPolicyAttr = (0, ast_utils_1.findUpAst)(expr, (node) => (0, ast_1.isDataModelAttribute)(node) && ['@@allow', '@@deny'].includes(node.decl.$refText));
|
|
196
|
+
if (containingPolicyAttr) {
|
|
197
|
+
const operation = (0, sdk_1.getAttributeArgLiteral)(containingPolicyAttr, 'operation');
|
|
198
|
+
if ((operation === null || operation === void 0 ? void 0 : operation.split(',').includes('all')) || (operation === null || operation === void 0 ? void 0 : operation.split(',').includes('read'))) {
|
|
199
|
+
accept('error', 'comparison between fields of different models is not supported in model-level "read" rules', {
|
|
200
|
+
node: expr,
|
|
201
|
+
});
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
199
209
|
validateCollectionPredicate(expr, accept) {
|
|
200
210
|
if (!expr.$resolvedType) {
|
|
201
211
|
accept('error', 'collection predicate can only be used on an array of model type', { node: expr });
|
|
@@ -206,7 +216,17 @@ class ExpressionValidator {
|
|
|
206
216
|
return (0, ast_utils_1.findUpAst)(node, (n) => (0, ast_1.isDataModelAttribute)(n) && n.decl.$refText === '@@validate');
|
|
207
217
|
}
|
|
208
218
|
isNotModelFieldExpr(expr) {
|
|
209
|
-
return (
|
|
219
|
+
return (
|
|
220
|
+
// literal
|
|
221
|
+
(0, ast_1.isLiteralExpr)(expr) ||
|
|
222
|
+
// enum field
|
|
223
|
+
(0, sdk_1.isEnumFieldReference)(expr) ||
|
|
224
|
+
// null
|
|
225
|
+
(0, ast_1.isNullExpr)(expr) ||
|
|
226
|
+
// `auth()` access
|
|
227
|
+
this.isAuthOrAuthMemberAccess(expr) ||
|
|
228
|
+
// array
|
|
229
|
+
((0, ast_1.isArrayExpr)(expr) && expr.items.every((item) => this.isNotModelFieldExpr(item))));
|
|
210
230
|
}
|
|
211
231
|
isAuthOrAuthMemberAccess(expr) {
|
|
212
232
|
return (0, sdk_1.isAuthInvocation)(expr) || ((0, ast_1.isMemberAccessExpr)(expr) && (0, sdk_1.isAuthInvocation)(expr.operand));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-validator.js","sourceRoot":"","sources":["../../../src/language-server/validator/expression-validator.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"expression-validator.js","sourceRoot":"","sources":["../../../src/language-server/validator/expression-validator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publisher": "zenstack",
|
|
4
4
|
"displayName": "ZenStack Language Tools",
|
|
5
5
|
"description": "Build scalable web apps with minimum code by defining authorization and validation rules inside the data schema that closer to the database",
|
|
6
|
-
"version": "2.2.
|
|
6
|
+
"version": "2.2.3",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "ZenStack Team"
|
|
9
9
|
},
|
|
@@ -104,8 +104,8 @@
|
|
|
104
104
|
"vscode-uri": "^3.0.6",
|
|
105
105
|
"zod": "^3.22.4",
|
|
106
106
|
"zod-validation-error": "^1.5.0",
|
|
107
|
-
"@zenstackhq/language": "2.2.
|
|
108
|
-
"@zenstackhq/sdk": "2.2.
|
|
107
|
+
"@zenstackhq/language": "2.2.3",
|
|
108
|
+
"@zenstackhq/sdk": "2.2.3"
|
|
109
109
|
},
|
|
110
110
|
"peerDependencies": {
|
|
111
111
|
"prisma": "5.0.0 - 5.15.x"
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
"tmp": "^0.2.1",
|
|
128
128
|
"tsc-alias": "^1.7.0",
|
|
129
129
|
"vitest": "^0.29.7",
|
|
130
|
-
"@zenstackhq/runtime": "2.2.
|
|
130
|
+
"@zenstackhq/runtime": "2.2.3"
|
|
131
131
|
},
|
|
132
132
|
"scripts": {
|
|
133
133
|
"vscode:publish": "vsce publish --no-dependencies",
|
|
@@ -28,7 +28,6 @@ export declare class PolicyGenerator {
|
|
|
28
28
|
private writeFieldLevelDefs;
|
|
29
29
|
private writeFieldReadDef;
|
|
30
30
|
private writeFieldUpdateDef;
|
|
31
|
-
private generateFieldReadCheckerFunction;
|
|
32
31
|
private writeAuthSelector;
|
|
33
32
|
private generateAuthSelector;
|
|
34
33
|
private writeValidationMeta;
|
|
@@ -188,14 +188,14 @@ class PolicyGenerator {
|
|
|
188
188
|
? '!(' +
|
|
189
189
|
denies
|
|
190
190
|
.map((deny) => {
|
|
191
|
-
return transformer.transform(deny);
|
|
191
|
+
return transformer.transform(deny, false);
|
|
192
192
|
})
|
|
193
193
|
.join(' || ') +
|
|
194
194
|
')'
|
|
195
195
|
: undefined;
|
|
196
196
|
const allowStmt = allows
|
|
197
197
|
.map((allow) => {
|
|
198
|
-
return transformer.transform(allow);
|
|
198
|
+
return transformer.transform(allow, false);
|
|
199
199
|
})
|
|
200
200
|
.join(' || ');
|
|
201
201
|
expr = expr ? `${expr} && (${allowStmt})` : allowStmt;
|
|
@@ -423,65 +423,6 @@ class PolicyGenerator {
|
|
|
423
423
|
});
|
|
424
424
|
writer.writeLine(',');
|
|
425
425
|
}
|
|
426
|
-
generateFieldReadCheckerFunction(sourceFile, field, allows, denies) {
|
|
427
|
-
const statements = [];
|
|
428
|
-
(0, utils_1.generateNormalizedAuthRef)(field.$container, allows, denies, statements);
|
|
429
|
-
// compile rules down to typescript expressions
|
|
430
|
-
statements.push((writer) => {
|
|
431
|
-
const transformer = new sdk_1.TypeScriptExpressionTransformer({
|
|
432
|
-
context: sdk_1.ExpressionContext.AccessPolicy,
|
|
433
|
-
fieldReferenceContext: 'input',
|
|
434
|
-
});
|
|
435
|
-
const denyStmt = denies.length > 0
|
|
436
|
-
? '!(' +
|
|
437
|
-
denies
|
|
438
|
-
.map((deny) => {
|
|
439
|
-
return transformer.transform(deny);
|
|
440
|
-
})
|
|
441
|
-
.join(' || ') +
|
|
442
|
-
')'
|
|
443
|
-
: undefined;
|
|
444
|
-
const allowStmt = allows.length > 0
|
|
445
|
-
? '(' +
|
|
446
|
-
allows
|
|
447
|
-
.map((allow) => {
|
|
448
|
-
return transformer.transform(allow);
|
|
449
|
-
})
|
|
450
|
-
.join(' || ') +
|
|
451
|
-
')'
|
|
452
|
-
: undefined;
|
|
453
|
-
let expr;
|
|
454
|
-
if (denyStmt && allowStmt) {
|
|
455
|
-
expr = `${denyStmt} && ${allowStmt}`;
|
|
456
|
-
}
|
|
457
|
-
else if (denyStmt) {
|
|
458
|
-
expr = denyStmt;
|
|
459
|
-
}
|
|
460
|
-
else if (allowStmt) {
|
|
461
|
-
expr = allowStmt;
|
|
462
|
-
}
|
|
463
|
-
else {
|
|
464
|
-
throw new Error('should not happen');
|
|
465
|
-
}
|
|
466
|
-
writer.write('return ' + expr);
|
|
467
|
-
});
|
|
468
|
-
const func = sourceFile.addFunction({
|
|
469
|
-
name: `${field.$container.name}$${field.name}_read`,
|
|
470
|
-
returnType: 'boolean',
|
|
471
|
-
parameters: [
|
|
472
|
-
{
|
|
473
|
-
name: 'input',
|
|
474
|
-
type: 'any',
|
|
475
|
-
},
|
|
476
|
-
{
|
|
477
|
-
name: 'context',
|
|
478
|
-
type: 'QueryContext',
|
|
479
|
-
},
|
|
480
|
-
],
|
|
481
|
-
statements,
|
|
482
|
-
});
|
|
483
|
-
return func;
|
|
484
|
-
}
|
|
485
426
|
// #endregion
|
|
486
427
|
//#region Auth selector
|
|
487
428
|
writeAuthSelector(models, writer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-guard-generator.js","sourceRoot":"","sources":["../../../../src/plugins/enhancer/policy/policy-guard-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policy-guard-generator.js","sourceRoot":"","sources":["../../../../src/plugins/enhancer/policy/policy-guard-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -328,15 +328,33 @@ function generateEntityCheckerFunction(sourceFile, model, kind, allows, denies,
|
|
|
328
328
|
futureRefContext: 'input',
|
|
329
329
|
});
|
|
330
330
|
denies.forEach((rule) => {
|
|
331
|
-
const compiled = transformer.transform(rule);
|
|
331
|
+
const compiled = transformer.transform(rule, false);
|
|
332
332
|
statements.push(`if (${compiled}) { return false; }`);
|
|
333
333
|
});
|
|
334
334
|
allows.forEach((rule) => {
|
|
335
|
-
const compiled = transformer.transform(rule);
|
|
335
|
+
const compiled = transformer.transform(rule, false);
|
|
336
336
|
statements.push(`if (${compiled}) { return true; }`);
|
|
337
337
|
});
|
|
338
|
-
|
|
339
|
-
|
|
338
|
+
if (kind === 'postUpdate') {
|
|
339
|
+
// 'postUpdate' rule defaults to allow
|
|
340
|
+
statements.push('return true;');
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
if (forField) {
|
|
344
|
+
// if there's no allow rule, for field-level rules, by default we allow
|
|
345
|
+
if (allows.length === 0) {
|
|
346
|
+
statements.push('return true;');
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
// if there's any allow rule, we deny unless any allow rule evaluates to true
|
|
350
|
+
statements.push(`return false;`);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
else {
|
|
354
|
+
// for other cases, defaults to deny
|
|
355
|
+
statements.push(`return false;`);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
340
358
|
const func = sourceFile.addFunction({
|
|
341
359
|
name: `$check_${model.name}${forField ? '$' + forField.name : ''}${fieldOverride ? '$override' : ''}_${kind}`,
|
|
342
360
|
returnType: 'any',
|
|
@@ -407,6 +425,10 @@ function hasCrossModelComparison(expr) {
|
|
|
407
425
|
}
|
|
408
426
|
function getSourceModelOfFieldAccess(expr) {
|
|
409
427
|
var _a, _b;
|
|
428
|
+
// `auth()` access doesn't involve db field look up so doesn't count as cross-model comparison
|
|
429
|
+
if ((0, sdk_1.isAuthInvocation)(expr)) {
|
|
430
|
+
return undefined;
|
|
431
|
+
}
|
|
410
432
|
// an expression that resolves to a data model and is part of a member access, return the model
|
|
411
433
|
// e.g.: profile.age => Profile
|
|
412
434
|
if ((0, ast_1.isDataModel)((_a = expr.$resolvedType) === null || _a === void 0 ? void 0 : _a.decl) && (0, ast_1.isMemberAccessExpr)(expr.$container)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/plugins/enhancer/policy/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/plugins/enhancer/policy/utils.ts"],"names":[],"mappings":"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"}
|