zenstack 2.8.1 → 2.9.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 (61) hide show
  1. package/cli/cli-util.js +7 -5
  2. package/cli/cli-util.js.map +1 -1
  3. package/cli/plugin-runner.js +3 -1
  4. package/cli/plugin-runner.js.map +1 -1
  5. package/language-server/utils.d.ts +5 -1
  6. package/language-server/utils.js +7 -0
  7. package/language-server/utils.js.map +1 -1
  8. package/language-server/validator/attribute-application-validator.js +3 -0
  9. package/language-server/validator/attribute-application-validator.js.map +1 -1
  10. package/language-server/validator/function-invocation-validator.js +1 -1
  11. package/language-server/validator/function-invocation-validator.js.map +1 -1
  12. package/language-server/validator/schema-validator.js +2 -1
  13. package/language-server/validator/schema-validator.js.map +1 -1
  14. package/language-server/validator/typedef-validator.d.ts +1 -0
  15. package/language-server/validator/typedef-validator.js +4 -0
  16. package/language-server/validator/typedef-validator.js.map +1 -1
  17. package/language-server/validator/utils.d.ts +1 -5
  18. package/language-server/validator/utils.js +0 -65
  19. package/language-server/validator/utils.js.map +1 -1
  20. package/language-server/zmodel-linker.js +10 -9
  21. package/language-server/zmodel-linker.js.map +1 -1
  22. package/language-server/zmodel-scope.d.ts +2 -2
  23. package/language-server/zmodel-scope.js +35 -27
  24. package/language-server/zmodel-scope.js.map +1 -1
  25. package/package.json +4 -4
  26. package/plugins/enhancer/enhance/auth-type-generator.d.ts +2 -2
  27. package/plugins/enhancer/enhance/auth-type-generator.js +4 -4
  28. package/plugins/enhancer/enhance/auth-type-generator.js.map +1 -1
  29. package/plugins/enhancer/enhance/index.d.ts +7 -3
  30. package/plugins/enhancer/enhance/index.js +109 -77
  31. package/plugins/enhancer/enhance/index.js.map +1 -1
  32. package/plugins/enhancer/enhance/model-typedef-generator.js +2 -1
  33. package/plugins/enhancer/enhance/model-typedef-generator.js.map +1 -1
  34. package/plugins/enhancer/index.js +2 -2
  35. package/plugins/enhancer/index.js.map +1 -1
  36. package/plugins/enhancer/policy/policy-guard-generator.d.ts +1 -1
  37. package/plugins/enhancer/policy/policy-guard-generator.js +23 -35
  38. package/plugins/enhancer/policy/policy-guard-generator.js.map +1 -1
  39. package/plugins/enhancer/policy/utils.js +15 -12
  40. package/plugins/enhancer/policy/utils.js.map +1 -1
  41. package/plugins/plugin-utils.d.ts +1 -1
  42. package/plugins/plugin-utils.js +5 -3
  43. package/plugins/plugin-utils.js.map +1 -1
  44. package/plugins/prisma/index.js +26 -1
  45. package/plugins/prisma/index.js.map +1 -1
  46. package/plugins/prisma/schema-generator.d.ts +0 -1
  47. package/plugins/prisma/schema-generator.js +40 -60
  48. package/plugins/prisma/schema-generator.js.map +1 -1
  49. package/plugins/zod/generator.d.ts +2 -0
  50. package/plugins/zod/generator.js +77 -19
  51. package/plugins/zod/generator.js.map +1 -1
  52. package/plugins/zod/transformer.d.ts +3 -2
  53. package/plugins/zod/transformer.js +31 -10
  54. package/plugins/zod/transformer.js.map +1 -1
  55. package/plugins/zod/utils/schema-gen.d.ts +1 -2
  56. package/plugins/zod/utils/schema-gen.js +0 -40
  57. package/plugins/zod/utils/schema-gen.js.map +1 -1
  58. package/res/stdlib.zmodel +3 -3
  59. package/utils/ast-utils.d.ts +5 -7
  60. package/utils/ast-utils.js +8 -43
  61. package/utils/ast-utils.js.map +1 -1
@@ -14,11 +14,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.PrismaSchemaGenerator = void 0;
16
16
  const ast_1 = require("@zenstackhq/language/ast");
17
+ const sdk_1 = require("@zenstackhq/sdk");
17
18
  const prisma_1 = require("@zenstackhq/sdk/prisma");
18
19
  const ts_pattern_1 = require("ts-pattern");
19
- const ast_utils_1 = require("../../utils/ast-utils");
20
20
  const runtime_1 = require("@zenstackhq/runtime");
21
- const sdk_1 = require("@zenstackhq/sdk");
21
+ const sdk_2 = require("@zenstackhq/sdk");
22
22
  const fs_1 = __importDefault(require("fs"));
23
23
  const promises_1 = require("fs/promises");
24
24
  const lower_case_first_1 = require("lower-case-first");
@@ -42,7 +42,7 @@ const IDENTIFIER_NAME_MAX_LENGTH = 50 - runtime_1.DELEGATE_AUX_RELATION_PREFIX.l
42
42
  class PrismaSchemaGenerator {
43
43
  constructor(zmodel) {
44
44
  this.zmodel = zmodel;
45
- this.zModelGenerator = new sdk_1.ZModelCodeGenerator();
45
+ this.zModelGenerator = new sdk_2.ZModelCodeGenerator();
46
46
  this.PRELUDE = `//////////////////////////////////////////////////////////////////////////////////////////////
47
47
  // DO NOT MODIFY THIS FILE //
48
48
  // This file is automatically generated by ZenStack CLI and should not be manually updated. //
@@ -57,7 +57,7 @@ class PrismaSchemaGenerator {
57
57
  generate(options) {
58
58
  return __awaiter(this, void 0, void 0, function* () {
59
59
  if (!options.output) {
60
- throw new sdk_1.PluginError(_1.name, 'Output file is not specified');
60
+ throw new sdk_2.PluginError(_1.name, 'Output file is not specified');
61
61
  }
62
62
  const outFile = options.output;
63
63
  const warnings = [];
@@ -66,7 +66,7 @@ class PrismaSchemaGenerator {
66
66
  }
67
67
  if (options.customAttributesAsComments !== undefined &&
68
68
  typeof options.customAttributesAsComments !== 'boolean') {
69
- throw new sdk_1.PluginError(_1.name, 'option "customAttributesAsComments" must be a boolean');
69
+ throw new sdk_2.PluginError(_1.name, 'option "customAttributesAsComments" must be a boolean');
70
70
  }
71
71
  this.customAttributesAsComments = options.customAttributesAsComments === true;
72
72
  const prismaVersion = (0, prisma_1.getPrismaVersion)();
@@ -149,7 +149,7 @@ class PrismaSchemaGenerator {
149
149
  return JSON.stringify(expr.value);
150
150
  }
151
151
  exprToText(expr) {
152
- return new sdk_1.ZModelCodeGenerator({ quote: 'double' }).generate(expr);
152
+ return new sdk_2.ZModelCodeGenerator({ quote: 'double' }).generate(expr);
153
153
  }
154
154
  generateGenerator(prisma, decl, options) {
155
155
  var _a, _b;
@@ -161,7 +161,7 @@ class PrismaSchemaGenerator {
161
161
  if (prismaVersion) {
162
162
  const previewFeatures = JSON.parse((_b = (_a = generator.fields.find((f) => f.name === 'previewFeatures')) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : '[]');
163
163
  if (!Array.isArray(previewFeatures)) {
164
- throw new sdk_1.PluginError(_1.name, 'option "previewFeatures" must be an array');
164
+ throw new sdk_2.PluginError(_1.name, 'option "previewFeatures" must be an array');
165
165
  }
166
166
  if (previewFeatures.length > 0) {
167
167
  const curr = generator.fields.find((f) => f.name === 'previewFeatures');
@@ -191,14 +191,14 @@ class PrismaSchemaGenerator {
191
191
  const model = decl.isView ? prisma.addView(decl.name) : prisma.addModel(decl.name);
192
192
  for (const field of decl.fields) {
193
193
  if (field.$inheritedFrom) {
194
- const inheritedFromDelegate = (0, sdk_1.getInheritedFromDelegate)(field);
194
+ const inheritedFromDelegate = (0, sdk_2.getInheritedFromDelegate)(field);
195
195
  if (
196
196
  // fields inherited from delegate are excluded from physical schema
197
197
  !inheritedFromDelegate ||
198
198
  // logical schema keeps all inherited fields
199
199
  this.mode === 'logical' ||
200
200
  // id fields are always kept
201
- (0, sdk_1.isIdField)(field)) {
201
+ (0, sdk_2.isIdField)(field)) {
202
202
  this.generateModelField(model, field);
203
203
  }
204
204
  }
@@ -225,7 +225,7 @@ class PrismaSchemaGenerator {
225
225
  if (this.mode !== 'physical') {
226
226
  return;
227
227
  }
228
- if (!(0, sdk_1.isDelegateModel)(decl)) {
228
+ if (!(0, sdk_2.isDelegateModel)(decl)) {
229
229
  return;
230
230
  }
231
231
  // collect concrete models inheriting this model
@@ -244,9 +244,9 @@ class PrismaSchemaGenerator {
244
244
  const baseModels = concreteDecl.superTypes
245
245
  .map((t) => t.ref)
246
246
  .filter((t) => !!t)
247
- .filter((t) => (0, sdk_1.isDelegateModel)(t));
247
+ .filter((t) => (0, sdk_2.isDelegateModel)(t));
248
248
  baseModels.forEach((base) => {
249
- const idFields = (0, ast_utils_1.getIdFields)(base);
249
+ const idFields = (0, sdk_1.getIdFields)(base);
250
250
  // add relation fields
251
251
  const relationField = this.truncate(`${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${(0, lower_case_first_1.lowerCaseFirst)(base.name)}`);
252
252
  model.addField(relationField, base.name, [
@@ -269,7 +269,7 @@ class PrismaSchemaGenerator {
269
269
  dataModel.fields.forEach((field) => {
270
270
  var _a;
271
271
  // don't process fields inherited from a delegate model
272
- if (field.$inheritedFrom && (0, sdk_1.isDelegateModel)(field.$inheritedFrom)) {
272
+ if (field.$inheritedFrom && (0, sdk_2.isDelegateModel)(field.$inheritedFrom)) {
273
273
  return;
274
274
  }
275
275
  const fieldType = (_a = field.type.reference) === null || _a === void 0 ? void 0 : _a.ref;
@@ -283,13 +283,13 @@ class PrismaSchemaGenerator {
283
283
  // e.g., delegate_aux_User_myAsset_Video
284
284
  const auxRelationName = this.truncate(`${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${dataModel.name}_${field.name}_${concrete.name}`);
285
285
  const auxRelationField = model.addField(auxRelationName, new prisma_builder_1.ModelFieldType(concrete.name, field.type.array, field.type.optional));
286
- const relAttr = (0, sdk_1.getAttribute)(field, '@relation');
286
+ const relAttr = (0, sdk_2.getAttribute)(field, '@relation');
287
287
  let relAttrAdded = false;
288
288
  if (relAttr) {
289
- if ((0, sdk_1.getAttributeArg)(relAttr, 'fields')) {
289
+ if ((0, sdk_2.getAttributeArg)(relAttr, 'fields')) {
290
290
  // for reach foreign key field pointing to the delegate model, we need to create an aux foreign key
291
291
  // to point to the concrete model
292
- const relationFieldPairs = (0, sdk_1.getRelationKeyPairs)(field);
292
+ const relationFieldPairs = (0, sdk_2.getRelationKeyPairs)(field);
293
293
  const addedFkFields = [];
294
294
  for (const { foreignKey } of relationFieldPairs) {
295
295
  const addedFkField = this.replicateForeignKey(model, dataModel, concrete, foreignKey);
@@ -344,7 +344,7 @@ class PrismaSchemaGenerator {
344
344
  }
345
345
  replicateForeignKeyModelLevelUnique(model, dataModel, origForeignKey, addedFkField) {
346
346
  for (const uniqueAttr of dataModel.attributes.filter((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@unique'; })) {
347
- const fields = (0, sdk_1.getAttributeArg)(uniqueAttr, 'fields');
347
+ const fields = (0, sdk_2.getAttributeArg)(uniqueAttr, 'fields');
348
348
  if (fields && (0, ast_1.isArrayExpr)(fields)) {
349
349
  const found = fields.items.find((fieldRef) => (0, ast_1.isReferenceExpr)(fieldRef) && fieldRef.target.ref === origForeignKey);
350
350
  if (found) {
@@ -424,7 +424,7 @@ class PrismaSchemaGenerator {
424
424
  if (!oppositeRelationField) {
425
425
  return;
426
426
  }
427
- const oppositeRelationAttr = (0, sdk_1.getAttribute)(oppositeRelationField, '@relation');
427
+ const oppositeRelationAttr = (0, sdk_2.getAttribute)(oppositeRelationField, '@relation');
428
428
  const fieldType = f.type.reference.ref;
429
429
  // relation name format: delegate_aux_[relationType]_[oppositeRelationField]_[concrete]
430
430
  const relName = this.truncate(`${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${fieldType.name}_${oppositeRelationField.name}_${decl.name}`);
@@ -434,14 +434,14 @@ class PrismaSchemaGenerator {
434
434
  // array relation doesn't need FK
435
435
  f.type.array ||
436
436
  // opposite relation already has FK, we don't need to generate on this side
437
- (oppositeRelationAttr && (0, sdk_1.getAttributeArg)(oppositeRelationAttr, 'fields'))) {
437
+ (oppositeRelationAttr && (0, sdk_2.getAttributeArg)(oppositeRelationAttr, 'fields'))) {
438
438
  prismaField.attributes.push(new prisma_builder_1.FieldAttribute('@relation', [
439
439
  new prisma_builder_1.AttributeArg(undefined, new prisma_builder_1.AttributeArgValue('String', relName)),
440
440
  ]));
441
441
  }
442
442
  else {
443
443
  // generate FK field
444
- const oppositeModelIds = (0, ast_utils_1.getIdFields)(oppositeRelationField.$container);
444
+ const oppositeModelIds = (0, sdk_1.getIdFields)(oppositeRelationField.$container);
445
445
  const fkFieldNames = [];
446
446
  oppositeModelIds.forEach((idField) => {
447
447
  const fkFieldName = this.truncate(`${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${f.name}_${idField.name}`);
@@ -463,10 +463,10 @@ class PrismaSchemaGenerator {
463
463
  findUpMatchingFieldFromDelegate(start, target) {
464
464
  for (const base of start.superTypes) {
465
465
  if ((0, ast_1.isDataModel)(base.ref)) {
466
- if ((0, sdk_1.isDelegateModel)(base.ref)) {
466
+ if ((0, sdk_2.isDelegateModel)(base.ref)) {
467
467
  const field = base.ref.fields.find((f) => f.name === target.name);
468
468
  if (field) {
469
- if (!field.$inheritedFrom || !(0, sdk_1.isDelegateModel)(field.$inheritedFrom)) {
469
+ if (!field.$inheritedFrom || !(0, sdk_2.isDelegateModel)(field.$inheritedFrom)) {
470
470
  // if this field is not inherited from an upper delegate, we're done
471
471
  return field;
472
472
  }
@@ -502,11 +502,11 @@ class PrismaSchemaGenerator {
502
502
  }
503
503
  }
504
504
  getRelationName(field) {
505
- const relAttr = (0, sdk_1.getAttribute)(field, '@relation');
505
+ const relAttr = (0, sdk_2.getAttribute)(field, '@relation');
506
506
  if (!relAttr) {
507
507
  return undefined;
508
508
  }
509
- return (0, sdk_1.getAttributeArgLiteral)(relAttr, 'name');
509
+ return (0, sdk_2.getAttributeArgLiteral)(relAttr, 'name');
510
510
  }
511
511
  get supportNamedConstraints() {
512
512
  const ds = this.zmodel.declarations.find(ast_1.isDataSource);
@@ -524,7 +524,7 @@ class PrismaSchemaGenerator {
524
524
  if (!attr.decl.ref) {
525
525
  return false;
526
526
  }
527
- const attrDecl = (0, sdk_1.resolved)(attr.decl);
527
+ const attrDecl = (0, sdk_2.resolved)(attr.decl);
528
528
  return (!!attrDecl.attributes.find((a) => { var _a; return ((_a = a.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@@prisma'; }) ||
529
529
  // the special pass-through attribute
530
530
  attrDecl.name === MODEL_PASSTHROUGH_ATTR ||
@@ -569,7 +569,7 @@ class PrismaSchemaGenerator {
569
569
  }
570
570
  }
571
571
  if (!fieldType) {
572
- throw new sdk_1.PluginError(_1.name, `Field type is not resolved: ${field.$container.name}.${field.name}`);
572
+ throw new sdk_2.PluginError(_1.name, `Field type is not resolved: ${field.$container.name}.${field.name}`);
573
573
  }
574
574
  const isArray =
575
575
  // typed-JSON fields should be translated to scalar Json type
@@ -582,53 +582,33 @@ class PrismaSchemaGenerator {
582
582
  .filter((attr) =>
583
583
  // when building physical schema, exclude `@default` for id fields inherited from delegate base
584
584
  !(this.mode === 'physical' &&
585
- (0, sdk_1.isIdField)(field) &&
585
+ (0, sdk_2.isIdField)(field) &&
586
586
  this.isInheritedFromDelegate(field) &&
587
587
  attr.decl.$refText === '@default'))
588
588
  .map((attr) => this.makeFieldAttribute(attr));
589
589
  // user defined comments pass-through
590
590
  const docs = [...field.comments, ...this.getCustomAttributesAsComments(field)];
591
591
  const result = model.addField(field.name, type, attributes, docs, addToFront);
592
- if (this.mode === 'logical') {
593
- if (field.attributes.some((attr) => (0, enhancer_utils_1.isDefaultWithAuth)(attr))) {
594
- // field has `@default` with `auth()`, turn it into a dummy default value, and the
595
- // real default value setting is handled outside Prisma
596
- this.setDummyDefault(result, field);
597
- }
598
- }
599
592
  return result;
600
593
  }
601
594
  ensureSupportingTypeDefFields(zmodel) {
602
- const dsProvider = (0, sdk_1.getDataSourceProvider)(zmodel);
595
+ const dsProvider = (0, sdk_2.getDataSourceProvider)(zmodel);
603
596
  if (dsProvider && !PROVIDERS_SUPPORTING_TYPEDEF_FIELDS.includes(dsProvider)) {
604
- throw new sdk_1.PluginError(_1.name, `Datasource provider "${dsProvider}" does not support "@json" fields`);
605
- }
606
- }
607
- setDummyDefault(result, field) {
608
- const dummyDefaultValue = (0, ts_pattern_1.match)(field.type.type)
609
- .with('String', () => new prisma_builder_1.AttributeArgValue('String', ''))
610
- .with(ts_pattern_1.P.union('Int', 'BigInt', 'Float', 'Decimal'), () => new prisma_builder_1.AttributeArgValue('Number', '0'))
611
- .with('Boolean', () => new prisma_builder_1.AttributeArgValue('Boolean', 'false'))
612
- .with('DateTime', () => new prisma_builder_1.AttributeArgValue('FunctionCall', new prisma_builder_1.FunctionCall('now')))
613
- .with('Json', () => new prisma_builder_1.AttributeArgValue('String', '{}'))
614
- .with('Bytes', () => new prisma_builder_1.AttributeArgValue('String', ''))
615
- .otherwise(() => {
616
- throw new sdk_1.PluginError(_1.name, `Unsupported field type with default value: ${field.type.type}`);
617
- });
618
- result.attributes.push(new prisma_builder_1.FieldAttribute('@default', [new prisma_builder_1.AttributeArg(undefined, dummyDefaultValue)]));
597
+ throw new sdk_2.PluginError(_1.name, `Datasource provider "${dsProvider}" does not support "@json" fields`);
598
+ }
619
599
  }
620
600
  isInheritedFromDelegate(field) {
621
- return field.$inheritedFrom && (0, sdk_1.isDelegateModel)(field.$inheritedFrom);
601
+ return field.$inheritedFrom && (0, sdk_2.isDelegateModel)(field.$inheritedFrom);
622
602
  }
623
603
  makeFieldAttribute(attr) {
624
- const attrName = (0, sdk_1.resolved)(attr.decl).name;
604
+ const attrName = (0, sdk_2.resolved)(attr.decl).name;
625
605
  if (attrName === FIELD_PASSTHROUGH_ATTR) {
626
- const text = (0, sdk_1.getLiteral)(attr.args[0].value);
606
+ const text = (0, sdk_2.getLiteral)(attr.args[0].value);
627
607
  if (text) {
628
608
  return new prisma_builder_1.PassThroughAttribute(text);
629
609
  }
630
610
  else {
631
- throw new sdk_1.PluginError(_1.name, `Invalid arguments for ${FIELD_PASSTHROUGH_ATTR} attribute`);
611
+ throw new sdk_2.PluginError(_1.name, `Invalid arguments for ${FIELD_PASSTHROUGH_ATTR} attribute`);
632
612
  }
633
613
  }
634
614
  else {
@@ -651,32 +631,32 @@ class PrismaSchemaGenerator {
651
631
  return new prisma_builder_1.AttributeArgValue('Array', new Array(...node.items.map((item) => this.makeAttributeArgValue(item))));
652
632
  }
653
633
  else if ((0, ast_1.isReferenceExpr)(node)) {
654
- return new prisma_builder_1.AttributeArgValue('FieldReference', new prisma_builder_1.FieldReference((0, sdk_1.resolved)(node.target).name, node.args.map((arg) => new prisma_builder_1.FieldReferenceArg(arg.name, this.exprToText(arg.value)))));
634
+ return new prisma_builder_1.AttributeArgValue('FieldReference', new prisma_builder_1.FieldReference((0, sdk_2.resolved)(node.target).name, node.args.map((arg) => new prisma_builder_1.FieldReferenceArg(arg.name, this.exprToText(arg.value)))));
655
635
  }
656
636
  else if ((0, ast_1.isInvocationExpr)(node)) {
657
637
  // invocation
658
638
  return new prisma_builder_1.AttributeArgValue('FunctionCall', this.makeFunctionCall(node));
659
639
  }
660
640
  else {
661
- throw new sdk_1.PluginError(_1.name, `Unsupported attribute argument expression type: ${node.$type}`);
641
+ throw new sdk_2.PluginError(_1.name, `Unsupported attribute argument expression type: ${node.$type}`);
662
642
  }
663
643
  }
664
644
  makeFunctionCall(node) {
665
- return new prisma_builder_1.FunctionCall((0, sdk_1.resolved)(node.function).name, node.args.map((arg) => {
645
+ return new prisma_builder_1.FunctionCall((0, sdk_2.resolved)(node.function).name, node.args.map((arg) => {
666
646
  const val = (0, ts_pattern_1.match)(arg.value)
667
647
  .when(ast_1.isStringLiteral, (v) => `"${v.value}"`)
668
648
  .when(ast_1.isLiteralExpr, (v) => v.value.toString())
669
649
  .when(ast_1.isNullExpr, () => 'null')
670
650
  .otherwise(() => {
671
- throw new sdk_1.PluginError(_1.name, 'Function call argument must be literal or null');
651
+ throw new sdk_2.PluginError(_1.name, 'Function call argument must be literal or null');
672
652
  });
673
653
  return new prisma_builder_1.FunctionCallArg(val);
674
654
  }));
675
655
  }
676
656
  generateContainerAttribute(container, attr) {
677
- const attrName = (0, sdk_1.resolved)(attr.decl).name;
657
+ const attrName = (0, sdk_2.resolved)(attr.decl).name;
678
658
  if (attrName === MODEL_PASSTHROUGH_ATTR) {
679
- const text = (0, sdk_1.getLiteral)(attr.args[0].value);
659
+ const text = (0, sdk_2.getLiteral)(attr.args[0].value);
680
660
  if (text) {
681
661
  container.attributes.push(new prisma_builder_1.PassThroughAttribute(text));
682
662
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../../src/plugins/prisma/schema-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-generator.js","sourceRoot":"","sources":["../../../src/plugins/prisma/schema-generator.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export declare class ZodSchemaGenerator {
19
19
  private generateTypeDefSchema;
20
20
  private addPreludeAndImports;
21
21
  private generateModelSchema;
22
+ private createRefineFunction;
23
+ private makeValidationRefinements;
22
24
  private makePartial;
23
25
  private makeOmit;
24
26
  private makeMerge;
@@ -104,10 +104,7 @@ class ZodSchemaGenerator {
104
104
  if (this.options.preserveTsFiles === true || this.options.output) {
105
105
  // if preserveTsFiles is true or the user provided a custom output directory,
106
106
  // save the generated files
107
- yield Promise.all(this.sourceFiles.map((sf) => __awaiter(this, void 0, void 0, function* () {
108
- yield sf.formatText();
109
- yield sf.save();
110
- })));
107
+ this.sourceFiles.forEach(sdk_1.saveSourceFile);
111
108
  }
112
109
  });
113
110
  }
@@ -231,7 +228,7 @@ class ZodSchemaGenerator {
231
228
  this.sourceFiles.push(sf);
232
229
  sf.replaceWithText((writer) => {
233
230
  this.addPreludeAndImports(typeDef, writer, output);
234
- writer.write(`export const ${typeDef.name}Schema = z.object(`);
231
+ writer.write(`const baseSchema = z.object(`);
235
232
  writer.inlineBlock(() => {
236
233
  typeDef.fields.forEach((field) => {
237
234
  writer.writeLine(`${field.name}: ${(0, schema_gen_1.makeFieldSchema)(field)},`);
@@ -249,13 +246,27 @@ class ZodSchemaGenerator {
249
246
  writer.writeLine(').strict();');
250
247
  break;
251
248
  }
249
+ // compile "@@validate" to a function calling zod's `.refine()`
250
+ const refineFuncName = this.createRefineFunction(typeDef, writer);
251
+ if (refineFuncName) {
252
+ // export a schema without refinement for extensibility: `[Model]WithoutRefineSchema`
253
+ const noRefineSchema = `${(0, upper_case_first_1.upperCaseFirst)(typeDef.name)}WithoutRefineSchema`;
254
+ writer.writeLine(`
255
+ /**
256
+ * \`${typeDef.name}\` schema prior to calling \`.refine()\` for extensibility.
257
+ */
258
+ export const ${noRefineSchema} = baseSchema;
259
+ export const ${typeDef.name}Schema = ${refineFuncName}(${noRefineSchema});
260
+ `);
261
+ }
262
+ else {
263
+ writer.writeLine(`export const ${typeDef.name}Schema = baseSchema;`);
264
+ }
252
265
  });
253
- // TODO: "@@validate" refinements
254
266
  return schemaName;
255
267
  }
256
268
  addPreludeAndImports(decl, writer, output) {
257
269
  var _a, _b, _c;
258
- writer.writeLine('/* eslint-disable */');
259
270
  writer.writeLine(`import { z } from 'zod';`);
260
271
  // import user-defined enums from Prisma as they might be referenced in the expressions
261
272
  const importEnums = new Set();
@@ -356,18 +367,7 @@ class ZodSchemaGenerator {
356
367
  writer.writeLine(');');
357
368
  }
358
369
  // compile "@@validate" to ".refine"
359
- const refinements = (0, schema_gen_1.makeValidationRefinements)(model);
360
- let refineFuncName;
361
- if (refinements.length > 0) {
362
- refineFuncName = `refine${(0, upper_case_first_1.upperCaseFirst)(model.name)}`;
363
- writer.writeLine(`
364
- /**
365
- * Schema refinement function for applying \`@@validate\` rules.
366
- */
367
- export function ${refineFuncName}<T, D extends z.ZodTypeDef>(schema: z.ZodType<T, D, T>) { return schema${refinements.join('\n')};
368
- }
369
- `);
370
- }
370
+ const refineFuncName = this.createRefineFunction(model, writer);
371
371
  // delegate discriminator fields are to be excluded from mutation schemas
372
372
  const delegateDiscriminatorFields = model.fields.filter((field) => (0, sdk_1.isDiscriminatorField)(field));
373
373
  const omitDiscriminators = delegateDiscriminatorFields.length > 0
@@ -536,6 +536,64 @@ export const ${(0, upper_case_first_1.upperCaseFirst)(model.name)}UpdateSchema =
536
536
  return schemaName;
537
537
  });
538
538
  }
539
+ createRefineFunction(decl, writer) {
540
+ const refinements = this.makeValidationRefinements(decl);
541
+ let refineFuncName;
542
+ if (refinements.length > 0) {
543
+ refineFuncName = `refine${(0, upper_case_first_1.upperCaseFirst)(decl.name)}`;
544
+ writer.writeLine(`
545
+ /**
546
+ * Schema refinement function for applying \`@@validate\` rules.
547
+ */
548
+ export function ${refineFuncName}<T, D extends z.ZodTypeDef>(schema: z.ZodType<T, D, T>) { return schema${refinements.join('\n')};
549
+ }
550
+ `);
551
+ return refineFuncName;
552
+ }
553
+ else {
554
+ return undefined;
555
+ }
556
+ }
557
+ makeValidationRefinements(decl) {
558
+ const attrs = decl.attributes.filter((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@validate'; });
559
+ const refinements = attrs
560
+ .map((attr) => {
561
+ var _a;
562
+ const valueArg = (0, sdk_1.getAttributeArg)(attr, 'value');
563
+ if (!valueArg) {
564
+ return undefined;
565
+ }
566
+ const messageArg = (0, sdk_1.getAttributeArgLiteral)(attr, 'message');
567
+ const message = messageArg ? `message: ${JSON.stringify(messageArg)},` : '';
568
+ const pathArg = (0, sdk_1.getAttributeArg)(attr, 'path');
569
+ const path = pathArg && (0, ast_1.isArrayExpr)(pathArg)
570
+ ? `path: ['${(_a = (0, sdk_1.getLiteralArray)(pathArg)) === null || _a === void 0 ? void 0 : _a.join(`', '`)}'],`
571
+ : '';
572
+ const options = `, { ${message} ${path} }`;
573
+ try {
574
+ let expr = new sdk_1.TypeScriptExpressionTransformer({
575
+ context: sdk_1.ExpressionContext.ValidationRule,
576
+ fieldReferenceContext: 'value',
577
+ }).transform(valueArg);
578
+ if ((0, sdk_1.isDataModelFieldReference)(valueArg)) {
579
+ // if the expression is a simple field reference, treat undefined
580
+ // as true since the all fields are optional in validation context
581
+ expr = `${expr} ?? true`;
582
+ }
583
+ return `.refine((value: any) => ${expr}${options})`;
584
+ }
585
+ catch (err) {
586
+ if (err instanceof sdk_1.TypeScriptExpressionTransformerError) {
587
+ throw new sdk_1.PluginError(_1.name, err.message);
588
+ }
589
+ else {
590
+ throw err;
591
+ }
592
+ }
593
+ })
594
+ .filter((r) => !!r);
595
+ return refinements;
596
+ }
539
597
  makePartial(schema, fields) {
540
598
  if (fields) {
541
599
  if (fields.length === 0) {