zenstack 1.0.0-beta.9 → 1.0.1

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.
Files changed (106) hide show
  1. package/README.md +4 -4
  2. package/cli/actions/generate.d.ts +13 -0
  3. package/cli/actions/generate.js +71 -0
  4. package/cli/actions/generate.js.map +1 -0
  5. package/cli/actions/index.d.ts +3 -0
  6. package/cli/actions/index.js +20 -0
  7. package/cli/actions/index.js.map +1 -0
  8. package/cli/actions/info.d.ts +4 -0
  9. package/cli/actions/info.js +63 -0
  10. package/cli/actions/info.js.map +1 -0
  11. package/cli/actions/init.d.ts +12 -0
  12. package/cli/actions/init.js +83 -0
  13. package/cli/actions/init.js.map +1 -0
  14. package/cli/cli-util.d.ts +7 -10
  15. package/cli/cli-util.js +48 -130
  16. package/cli/cli-util.js.map +1 -1
  17. package/cli/config.d.ts +1 -10
  18. package/cli/config.js +2 -7
  19. package/cli/config.js.map +1 -1
  20. package/cli/index.d.ts +3 -12
  21. package/cli/index.js +12 -30
  22. package/cli/index.js.map +1 -1
  23. package/cli/plugin-runner.d.ts +11 -2
  24. package/cli/plugin-runner.js +66 -41
  25. package/cli/plugin-runner.js.map +1 -1
  26. package/language-server/utils.d.ts +1 -10
  27. package/language-server/utils.js +1 -20
  28. package/language-server/utils.js.map +1 -1
  29. package/language-server/validator/attribute-application-validator.d.ts +15 -0
  30. package/language-server/validator/attribute-application-validator.js +246 -0
  31. package/language-server/validator/attribute-application-validator.js.map +1 -0
  32. package/language-server/validator/attribute-validator.d.ts +1 -1
  33. package/language-server/validator/attribute-validator.js +4 -1
  34. package/language-server/validator/attribute-validator.js.map +1 -1
  35. package/language-server/validator/datamodel-validator.js +5 -6
  36. package/language-server/validator/datamodel-validator.js.map +1 -1
  37. package/language-server/validator/enum-validator.js +3 -6
  38. package/language-server/validator/enum-validator.js.map +1 -1
  39. package/language-server/validator/expression-validator.d.ts +0 -1
  40. package/language-server/validator/expression-validator.js +48 -7
  41. package/language-server/validator/expression-validator.js.map +1 -1
  42. package/language-server/validator/function-decl-validator.js +2 -4
  43. package/language-server/validator/function-decl-validator.js.map +1 -1
  44. package/language-server/validator/function-invocation-validator.js +5 -6
  45. package/language-server/validator/function-invocation-validator.js.map +1 -1
  46. package/language-server/validator/utils.d.ts +0 -1
  47. package/language-server/validator/utils.js +3 -119
  48. package/language-server/validator/utils.js.map +1 -1
  49. package/language-server/zmodel-linker.js +33 -25
  50. package/language-server/zmodel-linker.js.map +1 -1
  51. package/package.json +8 -5
  52. package/plugins/access-policy/expression-writer.d.ts +5 -0
  53. package/plugins/access-policy/expression-writer.js +123 -64
  54. package/plugins/access-policy/expression-writer.js.map +1 -1
  55. package/plugins/access-policy/index.d.ts +3 -3
  56. package/plugins/access-policy/index.js +3 -5
  57. package/plugins/access-policy/index.js.map +1 -1
  58. package/plugins/access-policy/policy-guard-generator.d.ts +10 -3
  59. package/plugins/access-policy/policy-guard-generator.js +321 -71
  60. package/plugins/access-policy/policy-guard-generator.js.map +1 -1
  61. package/plugins/model-meta/index.d.ts +3 -3
  62. package/plugins/model-meta/index.js +90 -34
  63. package/plugins/model-meta/index.js.map +1 -1
  64. package/plugins/plugin-utils.d.ts +5 -3
  65. package/plugins/plugin-utils.js +22 -5
  66. package/plugins/plugin-utils.js.map +1 -1
  67. package/plugins/prisma/index.d.ts +3 -4
  68. package/plugins/prisma/index.js +3 -5
  69. package/plugins/prisma/index.js.map +1 -1
  70. package/plugins/prisma/prisma-builder.d.ts +4 -14
  71. package/plugins/prisma/prisma-builder.js +16 -42
  72. package/plugins/prisma/prisma-builder.js.map +1 -1
  73. package/plugins/prisma/schema-generator.d.ts +5 -4
  74. package/plugins/prisma/schema-generator.js +77 -164
  75. package/plugins/prisma/schema-generator.js.map +1 -1
  76. package/plugins/prisma/zmodel-code-generator.js +4 -2
  77. package/plugins/prisma/zmodel-code-generator.js.map +1 -1
  78. package/plugins/zod/generator.d.ts +2 -2
  79. package/plugins/zod/generator.js +36 -33
  80. package/plugins/zod/generator.js.map +1 -1
  81. package/plugins/zod/index.d.ts +3 -4
  82. package/plugins/zod/index.js +8 -5
  83. package/plugins/zod/index.js.map +1 -1
  84. package/plugins/zod/transformer.d.ts +6 -5
  85. package/plugins/zod/transformer.js +123 -81
  86. package/plugins/zod/transformer.js.map +1 -1
  87. package/plugins/zod/types.d.ts +2 -1
  88. package/plugins/zod/utils/schema-gen.js +14 -4
  89. package/plugins/zod/utils/schema-gen.js.map +1 -1
  90. package/res/stdlib.zmodel +19 -3
  91. package/telemetry.js +1 -1
  92. package/telemetry.js.map +1 -1
  93. package/utils/ast-utils.d.ts +2 -1
  94. package/utils/ast-utils.js +7 -3
  95. package/utils/ast-utils.js.map +1 -1
  96. package/utils/typescript-expression-transformer.d.ts +3 -2
  97. package/utils/typescript-expression-transformer.js +48 -17
  98. package/utils/typescript-expression-transformer.js.map +1 -1
  99. package/utils/version-utils.js +7 -2
  100. package/utils/version-utils.js.map +1 -1
  101. package/plugins/access-policy/utils.d.ts +0 -5
  102. package/plugins/access-policy/utils.js +0 -14
  103. package/plugins/access-policy/utils.js.map +0 -1
  104. package/types.d.ts +0 -12
  105. package/types.js +0 -3
  106. package/types.js.map +0 -1
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExpressionWriter = void 0;
3
+ exports.ExpressionWriter = exports.FALSE = exports.TRUE = void 0;
4
4
  const ast_1 = require("@zenstackhq/language/ast");
5
5
  const sdk_1 = require("@zenstackhq/sdk");
6
+ const lower_case_first_1 = require("lower-case-first");
6
7
  const _1 = require(".");
7
8
  const ast_utils_1 = require("../../utils/ast-utils");
8
9
  const typescript_expression_transformer_1 = require("../../utils/typescript-expression-transformer");
9
- const utils_1 = require("./utils");
10
+ // { OR: [] } filters to nothing, { AND: [] } includes everything
11
+ // https://www.prisma.io/docs/concepts/components/prisma-client/null-and-undefined#the-effect-of-null-and-undefined-on-conditionals
12
+ exports.TRUE = '{ AND: [] }';
13
+ exports.FALSE = '{ OR: [] }';
10
14
  /**
11
15
  * Utility for writing ZModel expression as Prisma query argument objects into a ts-morph writer
12
16
  */
@@ -29,7 +33,9 @@ class ExpressionWriter {
29
33
  */
30
34
  write(expr) {
31
35
  switch (expr.$type) {
32
- case ast_1.LiteralExpr:
36
+ case ast_1.StringLiteral:
37
+ case ast_1.NumberLiteral:
38
+ case ast_1.BooleanLiteral:
33
39
  this.writeLiteral(expr);
34
40
  break;
35
41
  case ast_1.UnaryExpr:
@@ -63,12 +69,12 @@ class ExpressionWriter {
63
69
  }
64
70
  }
65
71
  writeMemberAccess(expr) {
66
- this.block(() => {
67
- if (this.isAuthOrAuthMemberAccess(expr)) {
68
- // member access of `auth()`, generate plain expression
69
- this.guard(() => this.plain(expr), true);
70
- }
71
- else {
72
+ if (this.isAuthOrAuthMemberAccess(expr)) {
73
+ // member access of `auth()`, generate plain expression
74
+ this.guard(() => this.plain(expr), true);
75
+ }
76
+ else {
77
+ this.block(() => {
72
78
  // must be a boolean member
73
79
  this.writeFieldCondition(expr.operand, () => {
74
80
  this.block(() => {
@@ -76,8 +82,8 @@ class ExpressionWriter {
76
82
  this.writer.write(`${(_a = expr.member.ref) === null || _a === void 0 ? void 0 : _a.name}: true`);
77
83
  });
78
84
  });
79
- }
80
- });
85
+ });
86
+ }
81
87
  }
82
88
  writeExprList(exprs) {
83
89
  this.writer.write('[');
@@ -116,28 +122,39 @@ class ExpressionWriter {
116
122
  writeIn(expr) {
117
123
  const leftIsFieldAccess = this.isFieldAccess(expr.left);
118
124
  const rightIsFieldAccess = this.isFieldAccess(expr.right);
119
- this.block(() => {
120
- if (!leftIsFieldAccess && !rightIsFieldAccess) {
121
- // 'in' without referencing fields
122
- this.guard(() => this.plain(expr));
123
- }
124
- else if (leftIsFieldAccess && !rightIsFieldAccess) {
125
- // 'in' with left referencing a field, right is an array literal
126
- this.writeFieldCondition(expr.left, () => {
127
- this.plain(expr.right);
128
- }, 'in');
129
- }
130
- else if (!leftIsFieldAccess && rightIsFieldAccess) {
131
- // 'in' with right referencing an array field, left is a literal
132
- // transform it into a 'has' filter
133
- this.writeFieldCondition(expr.right, () => {
134
- this.plain(expr.left);
135
- }, 'has');
136
- }
137
- else {
138
- throw new sdk_1.PluginError(_1.name, '"in" operator cannot be used with field references on both sides');
139
- }
140
- });
125
+ if (!leftIsFieldAccess && !rightIsFieldAccess) {
126
+ // 'in' without referencing fields
127
+ this.guard(() => this.plain(expr));
128
+ }
129
+ else {
130
+ this.block(() => {
131
+ var _a, _b;
132
+ if (leftIsFieldAccess && !rightIsFieldAccess) {
133
+ // 'in' with left referencing a field, right is an array literal
134
+ this.writeFieldCondition(expr.left, () => {
135
+ this.plain(expr.right);
136
+ }, 'in');
137
+ }
138
+ else if (!leftIsFieldAccess && rightIsFieldAccess) {
139
+ // 'in' with right referencing an array field, left is a literal
140
+ // transform it into a 'has' filter
141
+ this.writeFieldCondition(expr.right, () => {
142
+ this.plain(expr.left);
143
+ }, 'has');
144
+ }
145
+ else if ((0, sdk_1.isDataModelFieldReference)(expr.left) &&
146
+ (0, sdk_1.isDataModelFieldReference)(expr.right) &&
147
+ ((_a = expr.left.target.ref) === null || _a === void 0 ? void 0 : _a.$container) === ((_b = expr.right.target.ref) === null || _b === void 0 ? void 0 : _b.$container)) {
148
+ // comparing two fields of the same model
149
+ this.writeFieldCondition(expr.left, () => {
150
+ this.writeFieldReference(expr.right);
151
+ }, 'in');
152
+ }
153
+ else {
154
+ throw new sdk_1.PluginError(_1.name, '"in" operator cannot be used with field references on both sides');
155
+ }
156
+ });
157
+ }
141
158
  }
142
159
  writeCollectionPredicate(expr, operator) {
143
160
  this.block(() => {
@@ -151,7 +168,7 @@ class ExpressionWriter {
151
168
  return true;
152
169
  }
153
170
  if ((0, ast_1.isMemberAccessExpr)(expr)) {
154
- if ((0, utils_1.isFutureExpr)(expr.operand) && this.isPostGuard) {
171
+ if ((0, sdk_1.isFutureExpr)(expr.operand) && this.isPostGuard) {
155
172
  // when writing for post-update, future().field.x is a field access
156
173
  return true;
157
174
  }
@@ -159,20 +176,20 @@ class ExpressionWriter {
159
176
  return this.isFieldAccess(expr.operand);
160
177
  }
161
178
  }
162
- if ((0, ast_1.isReferenceExpr)(expr) && (0, ast_1.isDataModelField)(expr.target.ref) && !this.isPostGuard) {
179
+ if ((0, sdk_1.isDataModelFieldReference)(expr) && !this.isPostGuard) {
163
180
  return true;
164
181
  }
165
182
  return false;
166
183
  }
167
- guard(write, cast = false) {
168
- this.writer.write(`${sdk_1.GUARD_FIELD_NAME}: `);
184
+ guard(condition, cast = false) {
169
185
  if (cast) {
170
186
  this.writer.write('!!');
171
- write();
187
+ condition();
172
188
  }
173
189
  else {
174
- write();
190
+ condition();
175
191
  }
192
+ this.writer.write(` ? ${exports.TRUE} : ${exports.FALSE}`);
176
193
  }
177
194
  plain(expr) {
178
195
  try {
@@ -191,15 +208,10 @@ class ExpressionWriter {
191
208
  var _a;
192
209
  const leftIsFieldAccess = this.isFieldAccess(expr.left);
193
210
  const rightIsFieldAccess = this.isFieldAccess(expr.right);
194
- if (leftIsFieldAccess && rightIsFieldAccess) {
195
- throw new sdk_1.PluginError(_1.name, `Comparison between fields are not supported yet`);
196
- }
197
211
  if (!leftIsFieldAccess && !rightIsFieldAccess) {
198
212
  // compile down to a plain expression
199
- this.block(() => {
200
- this.guard(() => {
201
- this.plain(expr);
202
- });
213
+ this.guard(() => {
214
+ this.plain(expr);
203
215
  });
204
216
  return;
205
217
  }
@@ -214,7 +226,7 @@ class ExpressionWriter {
214
226
  operand = expr.left;
215
227
  operator = this.negateOperator(operator);
216
228
  }
217
- if ((0, ast_1.isMemberAccessExpr)(fieldAccess) && (0, utils_1.isFutureExpr)(fieldAccess.operand)) {
229
+ if ((0, ast_1.isMemberAccessExpr)(fieldAccess) && (0, sdk_1.isFutureExpr)(fieldAccess.operand)) {
218
230
  // future().field should be treated as the "field" directly, so we
219
231
  // strip 'future().' and synthesize a reference expr
220
232
  fieldAccess = {
@@ -222,15 +234,16 @@ class ExpressionWriter {
222
234
  $container: fieldAccess.$container,
223
235
  target: fieldAccess.member,
224
236
  $resolvedType: fieldAccess.$resolvedType,
237
+ $future: true,
225
238
  };
226
239
  }
227
240
  // guard member access of `auth()` with null check
228
241
  if (this.isAuthOrAuthMemberAccess(operand) && !((_a = fieldAccess.$resolvedType) === null || _a === void 0 ? void 0 : _a.nullable)) {
229
242
  try {
230
- this.writer.write(`(${this.plainExprBuilder.transform(operand)} == null) ? { ${sdk_1.GUARD_FIELD_NAME}: ${
243
+ this.writer.write(`(${this.plainExprBuilder.transform(operand)} == null) ? ${
231
244
  // auth().x != user.x is true when auth().x is null and user is not nullable
232
245
  // other expressions are evaluated to false when null is involved
233
- operator === '!=' ? 'true' : 'false'} } : `);
246
+ operator === '!=' ? exports.TRUE : exports.FALSE} : `);
234
247
  }
235
248
  catch (err) {
236
249
  if (err instanceof typescript_expression_transformer_1.TypeScriptExpressionTransformerError) {
@@ -249,10 +262,7 @@ class ExpressionWriter {
249
262
  if (dataModel && (0, ast_utils_1.isAuthInvocation)(operand)) {
250
263
  // right now this branch only serves comparison with `auth`, like
251
264
  // @@allow('all', owner == auth())
252
- const idFields = (0, ast_utils_1.getIdFields)(dataModel);
253
- if (!idFields || idFields.length === 0) {
254
- throw new sdk_1.PluginError(_1.name, `Data model ${dataModel.name} does not have an id field`);
255
- }
265
+ const idFields = this.requireIdFields(dataModel);
256
266
  if (operator !== '==' && operator !== '!=') {
257
267
  throw new sdk_1.PluginError(_1.name, 'Only == and != operators are allowed');
258
268
  }
@@ -287,9 +297,23 @@ class ExpressionWriter {
287
297
  });
288
298
  }
289
299
  else {
290
- this.writeOperator(operator, fieldAccess, () => {
291
- this.plain(operand);
292
- });
300
+ if (this.equivalentRefs(fieldAccess, operand)) {
301
+ // f == f or f != f
302
+ // this == this or this != this
303
+ this.writer.write(operator === '!=' ? exports.TRUE : exports.FALSE);
304
+ }
305
+ else {
306
+ this.writeOperator(operator, fieldAccess, () => {
307
+ if ((0, sdk_1.isDataModelFieldReference)(operand) && !this.isPostGuard) {
308
+ // if operand is a field reference and we're not generating for post-update guard,
309
+ // we should generate a field reference (comparing fields in the same model)
310
+ this.writeFieldReference(operand);
311
+ }
312
+ else {
313
+ this.plain(operand);
314
+ }
315
+ });
316
+ }
293
317
  }
294
318
  }, !(0, ast_1.isThisExpr)(fieldAccess));
295
319
  });
@@ -298,6 +322,35 @@ class ExpressionWriter {
298
322
  // avoid generating a new layer
299
323
  !(0, ast_1.isThisExpr)(fieldAccess));
300
324
  }
325
+ requireIdFields(dataModel) {
326
+ const idFields = (0, ast_utils_1.getIdFields)(dataModel);
327
+ if (!idFields || idFields.length === 0) {
328
+ throw new sdk_1.PluginError(_1.name, `Data model ${dataModel.name} does not have an id field`);
329
+ }
330
+ return idFields;
331
+ }
332
+ equivalentRefs(expr1, expr2) {
333
+ if ((0, ast_1.isThisExpr)(expr1) && (0, ast_1.isThisExpr)(expr2)) {
334
+ return true;
335
+ }
336
+ if ((0, ast_1.isReferenceExpr)(expr1) &&
337
+ (0, ast_1.isReferenceExpr)(expr2) &&
338
+ expr1.target.ref === expr2.target.ref &&
339
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
340
+ expr1.$future === expr2.$future // either both future or both not
341
+ ) {
342
+ return true;
343
+ }
344
+ return false;
345
+ }
346
+ // https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#compare-columns-in-the-same-table
347
+ writeFieldReference(expr) {
348
+ if (!expr.target.ref) {
349
+ throw new sdk_1.PluginError(_1.name, `Unresolved reference "${expr.target.$refText}"`);
350
+ }
351
+ const containingModel = expr.target.ref.$container;
352
+ this.writer.write(`db.${(0, lower_case_first_1.lowerCaseFirst)(containingModel.name)}.fields.${expr.target.ref.name}`);
353
+ }
301
354
  isAuthOrAuthMemberAccess(expr) {
302
355
  return (0, ast_utils_1.isAuthInvocation)(expr) || ((0, ast_1.isMemberAccessExpr)(expr) && (0, ast_utils_1.isAuthInvocation)(expr.operand));
303
356
  }
@@ -343,7 +396,7 @@ class ExpressionWriter {
343
396
  selector = (_a = fieldAccess.target.ref) === null || _a === void 0 ? void 0 : _a.name;
344
397
  }
345
398
  else if ((0, ast_1.isMemberAccessExpr)(fieldAccess)) {
346
- if ((0, utils_1.isFutureExpr)(fieldAccess.operand)) {
399
+ if ((0, sdk_1.isFutureExpr)(fieldAccess.operand)) {
347
400
  // future().field should be treated as the "field"
348
401
  selector = (_b = fieldAccess.member.ref) === null || _b === void 0 ? void 0 : _b.name;
349
402
  }
@@ -434,7 +487,7 @@ class ExpressionWriter {
434
487
  writeLogical(expr, operator) {
435
488
  // TODO: do we need short-circuit for logical operators?
436
489
  if (operator === '&&') {
437
- // // && short-circuit: left && right -> left ? right : { zenstack_guard: false }
490
+ // // && short-circuit: left && right -> left ? right : FALSE
438
491
  // if (!this.hasFieldAccess(expr.left)) {
439
492
  // this.plain(expr.left);
440
493
  // this.writer.write(' ? ');
@@ -449,7 +502,7 @@ class ExpressionWriter {
449
502
  // }
450
503
  }
451
504
  else {
452
- // // || short-circuit: left || right -> left ? { zenstack_guard: true } : right
505
+ // // || short-circuit: left || right -> left ? TRUE : right
453
506
  // if (!this.hasFieldAccess(expr.left)) {
454
507
  // this.plain(expr.left);
455
508
  // this.writer.write(' ? ');
@@ -474,11 +527,17 @@ class ExpressionWriter {
474
527
  });
475
528
  }
476
529
  writeLiteral(expr) {
477
- this.block(() => {
530
+ if (expr.value === true) {
531
+ this.writer.write(exports.TRUE);
532
+ }
533
+ else if (expr.value === false) {
534
+ this.writer.write(exports.FALSE);
535
+ }
536
+ else {
478
537
  this.guard(() => {
479
538
  this.plain(expr);
480
539
  });
481
- });
540
+ }
482
541
  }
483
542
  writeInvocation(expr) {
484
543
  var _a, _b;
@@ -491,19 +550,19 @@ class ExpressionWriter {
491
550
  functionAllowedContext.includes(sdk_1.ExpressionContext.ValidationRule)) {
492
551
  if (!expr.args.some((arg) => this.isFieldAccess(arg.value))) {
493
552
  // filter functions without referencing fields
494
- this.block(() => this.guard(() => this.plain(expr)));
553
+ this.guard(() => this.plain(expr));
495
554
  return;
496
555
  }
497
556
  let valueArg = (_a = expr.args[1]) === null || _a === void 0 ? void 0 : _a.value;
498
557
  // isEmpty function is zero arity, it's mapped to a boolean literal
499
558
  if (funcDecl.name === 'isEmpty') {
500
- valueArg = { $type: ast_1.LiteralExpr, value: true };
559
+ valueArg = { $type: ast_1.BooleanLiteral, value: true };
501
560
  }
502
561
  // contains function has a 3rd argument that indicates whether the comparison should be case-insensitive
503
562
  let extraArgs = undefined;
504
563
  if (funcDecl.name === 'contains') {
505
564
  if ((0, sdk_1.getLiteral)((_b = expr.args[2]) === null || _b === void 0 ? void 0 : _b.value) === true) {
506
- extraArgs = { mode: { $type: ast_1.LiteralExpr, value: 'insensitive' } };
565
+ extraArgs = { mode: { $type: ast_1.StringLiteral, value: 'insensitive' } };
507
566
  }
508
567
  }
509
568
  this.block(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"expression-writer.js","sourceRoot":"","sources":["../../../src/plugins/access-policy/expression-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression-writer.js","sourceRoot":"","sources":["../../../src/plugins/access-policy/expression-writer.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Model } from '@zenstackhq/language/ast';
2
- import { PluginOptions } from '@zenstackhq/sdk';
1
+ import { PluginFunction } from '@zenstackhq/sdk';
3
2
  export declare const name = "Access Policy";
4
- export default function run(model: Model, options: PluginOptions): Promise<void>;
3
+ declare const run: PluginFunction;
4
+ export default run;
@@ -15,10 +15,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.name = void 0;
16
16
  const policy_guard_generator_1 = __importDefault(require("./policy-guard-generator"));
17
17
  exports.name = 'Access Policy';
18
- function run(model, options) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- return new policy_guard_generator_1.default().generate(model, options);
21
- });
22
- }
18
+ const run = (model, options, _dmmf, globalOptions) => __awaiter(void 0, void 0, void 0, function* () {
19
+ return new policy_guard_generator_1.default().generate(model, options, globalOptions);
20
+ });
23
21
  exports.default = run;
24
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/access-policy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,sFAAuD;AAE1C,QAAA,IAAI,GAAG,eAAe,CAAC;AAEpC,SAA8B,GAAG,CAAC,KAAY,EAAE,OAAsB;;QAClE,OAAO,IAAI,gCAAe,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;CAAA;AAFD,sBAEC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/access-policy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,sFAAuD;AAE1C,QAAA,IAAI,GAAG,eAAe,CAAC;AAEpC,MAAM,GAAG,GAAmB,CAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;IACvE,OAAO,IAAI,gCAAe,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AACzE,CAAC,CAAA,CAAC;AAEF,kBAAe,GAAG,CAAC"}
@@ -1,15 +1,22 @@
1
1
  import { Model } from '@zenstackhq/language/ast';
2
- import { PluginOptions } from '@zenstackhq/sdk';
2
+ import { PluginGlobalOptions, PluginOptions } from '@zenstackhq/sdk';
3
3
  /**
4
4
  * Generates source file that contains Prisma query guard objects used for injecting database queries
5
5
  */
6
6
  export default class PolicyGenerator {
7
- generate(model: Model, options: PluginOptions): Promise<void>;
7
+ generate(model: Model, options: PluginOptions, globalOptions?: PluginGlobalOptions): Promise<void>;
8
+ private isEnumReferenced;
8
9
  private getPolicyExpressions;
9
10
  private processUpdatePolicies;
10
11
  private visitPolicyExpression;
11
12
  private hasFutureReference;
12
13
  private generateQueryGuardForModel;
13
- private generatePreValueSelect;
14
+ private generateReadFieldsGuards;
15
+ private generateReadFieldGuardFunction;
16
+ private generateUpdateFieldsGuards;
17
+ private canCheckCreateBasedOnInput;
18
+ private generateSelectForRules;
14
19
  private generateQueryGuardFunction;
20
+ private generateInputCheckFunction;
21
+ private generateNormalizedAuthRef;
15
22
  }