zenstack 1.10.0 → 2.0.0-alpha.2

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 (100) hide show
  1. package/README.md +29 -1
  2. package/cli/cli-util.d.ts +1 -1
  3. package/cli/cli-util.js +20 -2
  4. package/cli/cli-util.js.map +1 -1
  5. package/cli/index.js +0 -3
  6. package/cli/index.js.map +1 -1
  7. package/cli/plugin-runner.d.ts +4 -2
  8. package/cli/plugin-runner.js +128 -90
  9. package/cli/plugin-runner.js.map +1 -1
  10. package/language-server/validator/datamodel-validator.js +26 -19
  11. package/language-server/validator/datamodel-validator.js.map +1 -1
  12. package/language-server/validator/datasource-validator.js +1 -1
  13. package/language-server/validator/datasource-validator.js.map +1 -1
  14. package/language-server/validator/enum-validator.js +1 -1
  15. package/language-server/validator/enum-validator.js.map +1 -1
  16. package/language-server/validator/expression-validator.js +12 -6
  17. package/language-server/validator/expression-validator.js.map +1 -1
  18. package/language-server/validator/function-invocation-validator.js +1 -2
  19. package/language-server/validator/function-invocation-validator.js.map +1 -1
  20. package/language-server/validator/schema-validator.js +1 -1
  21. package/language-server/validator/schema-validator.js.map +1 -1
  22. package/language-server/validator/utils.d.ts +1 -1
  23. package/language-server/validator/utils.js +3 -3
  24. package/language-server/validator/utils.js.map +1 -1
  25. package/language-server/zmodel-code-action.js +4 -3
  26. package/language-server/zmodel-code-action.js.map +1 -1
  27. package/language-server/zmodel-completion-provider.js +2 -2
  28. package/language-server/zmodel-completion-provider.js.map +1 -1
  29. package/language-server/zmodel-linker.d.ts +0 -1
  30. package/language-server/zmodel-linker.js +9 -67
  31. package/language-server/zmodel-linker.js.map +1 -1
  32. package/language-server/zmodel-scope.d.ts +5 -3
  33. package/language-server/zmodel-scope.js +117 -68
  34. package/language-server/zmodel-scope.js.map +1 -1
  35. package/package.json +6 -6
  36. package/plugins/enhancer/enhance/index.d.ts +7 -0
  37. package/plugins/enhancer/enhance/index.js +336 -0
  38. package/plugins/enhancer/enhance/index.js.map +1 -0
  39. package/plugins/enhancer/enhancer-utils.d.ts +5 -0
  40. package/plugins/enhancer/enhancer-utils.js +22 -0
  41. package/plugins/enhancer/enhancer-utils.js.map +1 -0
  42. package/plugins/enhancer/index.d.ts +5 -0
  43. package/plugins/enhancer/index.js +51 -0
  44. package/plugins/enhancer/index.js.map +1 -0
  45. package/plugins/enhancer/model-meta/index.d.ts +4 -0
  46. package/plugins/enhancer/model-meta/index.js +32 -0
  47. package/plugins/enhancer/model-meta/index.js.map +1 -0
  48. package/plugins/{access-policy → enhancer/policy}/expression-writer.d.ts +3 -0
  49. package/plugins/{access-policy → enhancer/policy}/expression-writer.js +97 -47
  50. package/plugins/enhancer/policy/expression-writer.js.map +1 -0
  51. package/plugins/enhancer/policy/index.d.ts +4 -0
  52. package/plugins/{access-policy → enhancer/policy}/index.js +8 -10
  53. package/plugins/enhancer/policy/index.js.map +1 -0
  54. package/plugins/{access-policy → enhancer/policy}/policy-guard-generator.d.ts +4 -4
  55. package/plugins/{access-policy → enhancer/policy}/policy-guard-generator.js +26 -66
  56. package/plugins/enhancer/policy/policy-guard-generator.js.map +1 -0
  57. package/plugins/plugin-utils.d.ts +8 -0
  58. package/plugins/plugin-utils.js +17 -9
  59. package/plugins/plugin-utils.js.map +1 -1
  60. package/plugins/prisma/index.d.ts +2 -0
  61. package/plugins/prisma/index.js +91 -3
  62. package/plugins/prisma/index.js.map +1 -1
  63. package/plugins/prisma/prisma-builder.d.ts +1 -1
  64. package/plugins/prisma/prisma-builder.js +7 -2
  65. package/plugins/prisma/prisma-builder.js.map +1 -1
  66. package/plugins/prisma/schema-generator.d.ts +10 -4
  67. package/plugins/prisma/schema-generator.js +178 -70
  68. package/plugins/prisma/schema-generator.js.map +1 -1
  69. package/plugins/zod/generator.d.ts +21 -1
  70. package/plugins/zod/generator.js +364 -352
  71. package/plugins/zod/generator.js.map +1 -1
  72. package/plugins/zod/index.d.ts +1 -0
  73. package/plugins/zod/index.js +4 -2
  74. package/plugins/zod/index.js.map +1 -1
  75. package/plugins/zod/transformer.d.ts +7 -5
  76. package/plugins/zod/transformer.js +18 -14
  77. package/plugins/zod/transformer.js.map +1 -1
  78. package/plugins/zod/types.d.ts +0 -2
  79. package/plugins/zod/utils/schema-gen.js +2 -3
  80. package/plugins/zod/utils/schema-gen.js.map +1 -1
  81. package/res/stdlib.zmodel +7 -2
  82. package/telemetry.d.ts +1 -1
  83. package/telemetry.js +1 -1
  84. package/telemetry.js.map +1 -1
  85. package/utils/ast-utils.d.ts +5 -2
  86. package/utils/ast-utils.js +63 -24
  87. package/utils/ast-utils.js.map +1 -1
  88. package/utils/exec-utils.d.ts +7 -3
  89. package/utils/exec-utils.js +18 -6
  90. package/utils/exec-utils.js.map +1 -1
  91. package/plugins/access-policy/expression-writer.js.map +0 -1
  92. package/plugins/access-policy/index.d.ts +0 -4
  93. package/plugins/access-policy/index.js.map +0 -1
  94. package/plugins/access-policy/policy-guard-generator.js.map +0 -1
  95. package/plugins/model-meta/index.d.ts +0 -4
  96. package/plugins/model-meta/index.js +0 -46
  97. package/plugins/model-meta/index.js.map +0 -1
  98. package/utils/typescript-expression-transformer.d.ts +0 -56
  99. package/utils/typescript-expression-transformer.js +0 -338
  100. package/utils/typescript-expression-transformer.js.map +0 -1
@@ -12,29 +12,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.getDefaultPrismaOutputFile = void 0;
15
+ exports.PrismaSchemaGenerator = void 0;
16
16
  const ast_1 = require("@zenstackhq/language/ast");
17
17
  const ts_pattern_1 = require("ts-pattern");
18
+ const ast_utils_1 = require("../../utils/ast-utils");
18
19
  const runtime_1 = require("@zenstackhq/runtime");
19
20
  const sdk_1 = require("@zenstackhq/sdk");
20
21
  const fs_1 = __importDefault(require("fs"));
21
22
  const promises_1 = require("fs/promises");
23
+ const lower_case_first_1 = require("lower-case-first");
22
24
  const path_1 = __importDefault(require("path"));
23
25
  const semver_1 = __importDefault(require("semver"));
24
- const strip_color_1 = __importDefault(require("strip-color"));
26
+ const upper_case_first_1 = require("upper-case-first");
25
27
  const _1 = require(".");
26
28
  const utils_1 = require("../../language-server/validator/utils");
27
- const telemetry_1 = __importDefault(require("../../telemetry"));
28
29
  const exec_utils_1 = require("../../utils/exec-utils");
29
- const pkg_utils_1 = require("../../utils/pkg-utils");
30
+ const enhancer_utils_1 = require("../enhancer/enhancer-utils");
30
31
  const prisma_builder_1 = require("./prisma-builder");
31
32
  const MODEL_PASSTHROUGH_ATTR = '@@prisma.passthrough';
32
33
  const FIELD_PASSTHROUGH_ATTR = '@prisma.passthrough';
34
+ const PROVIDERS_SUPPORTING_NAMED_CONSTRAINTS = ['postgresql', 'mysql', 'cockroachdb'];
33
35
  /**
34
36
  * Generates Prisma schema file
35
37
  */
36
38
  class PrismaSchemaGenerator {
37
- constructor() {
39
+ constructor(zmodel) {
40
+ this.zmodel = zmodel;
38
41
  this.zModelGenerator = new sdk_1.ZModelCodeGenerator();
39
42
  this.PRELUDE = `//////////////////////////////////////////////////////////////////////////////////////////////
40
43
  // DO NOT MODIFY THIS FILE //
@@ -42,16 +45,24 @@ class PrismaSchemaGenerator {
42
45
  //////////////////////////////////////////////////////////////////////////////////////////////
43
46
 
44
47
  `;
48
+ this.mode = 'physical';
45
49
  }
46
- generate(model, options) {
50
+ generate(options) {
47
51
  return __awaiter(this, void 0, void 0, function* () {
52
+ if (!options.output) {
53
+ throw new sdk_1.PluginError(_1.name, 'Output file is not specified');
54
+ }
55
+ const outFile = options.output;
48
56
  const warnings = [];
57
+ if (options.mode) {
58
+ this.mode = options.mode;
59
+ }
49
60
  const prismaVersion = (0, sdk_1.getPrismaVersion)();
50
61
  if (prismaVersion && semver_1.default.lt(prismaVersion, runtime_1.PRISMA_MINIMUM_VERSION)) {
51
62
  warnings.push(`ZenStack requires Prisma version "${runtime_1.PRISMA_MINIMUM_VERSION}" or higher. Detected version is "${prismaVersion}".`);
52
63
  }
53
64
  const prisma = new prisma_builder_1.PrismaModel();
54
- for (const decl of model.declarations) {
65
+ for (const decl of this.zmodel.declarations) {
55
66
  switch (decl.$type) {
56
67
  case ast_1.DataSource:
57
68
  this.generateDataSource(prisma, decl);
@@ -63,13 +74,10 @@ class PrismaSchemaGenerator {
63
74
  this.generateModel(prisma, decl);
64
75
  break;
65
76
  case ast_1.GeneratorDecl:
66
- this.generateGenerator(prisma, decl);
77
+ this.generateGenerator(prisma, decl, options);
67
78
  break;
68
79
  }
69
80
  }
70
- const outFile = options.output
71
- ? (0, sdk_1.resolvePath)(options.output, options)
72
- : getDefaultPrismaOutputFile(options.schemaPath);
73
81
  if (!fs_1.default.existsSync(path_1.default.dirname(outFile))) {
74
82
  fs_1.default.mkdirSync(path_1.default.dirname(outFile), { recursive: true });
75
83
  }
@@ -77,50 +85,15 @@ class PrismaSchemaGenerator {
77
85
  if (options.format === true) {
78
86
  try {
79
87
  // run 'prisma format'
80
- yield (0, exec_utils_1.execPackage)(`prisma format --schema ${outFile}`);
88
+ yield (0, exec_utils_1.execPackage)(`prisma format --schema ${outFile}`, { stdio: 'ignore' });
81
89
  }
82
90
  catch (_a) {
83
91
  warnings.push(`Failed to format Prisma schema file`);
84
92
  }
85
93
  }
86
- const generateClient = options.generateClient !== false;
87
- if (generateClient) {
88
- let generateCmd = `prisma generate --schema "${outFile}"`;
89
- if (typeof options.generateArgs === 'string') {
90
- generateCmd += ` ${options.generateArgs}`;
91
- }
92
- try {
93
- // run 'prisma generate'
94
- yield (0, exec_utils_1.execPackage)(generateCmd, 'ignore');
95
- }
96
- catch (_b) {
97
- yield this.trackPrismaSchemaError(outFile);
98
- try {
99
- // run 'prisma generate' again with output to the console
100
- yield (0, exec_utils_1.execPackage)(generateCmd);
101
- }
102
- catch (_c) {
103
- // noop
104
- }
105
- throw new sdk_1.PluginError(_1.name, `Failed to run "prisma generate"`);
106
- }
107
- }
108
94
  return warnings;
109
95
  });
110
96
  }
111
- trackPrismaSchemaError(schema) {
112
- return __awaiter(this, void 0, void 0, function* () {
113
- try {
114
- yield (0, sdk_1.getDMMF)({ datamodel: fs_1.default.readFileSync(schema, 'utf-8') });
115
- }
116
- catch (err) {
117
- if (err instanceof Error) {
118
- // eslint-disable-next-line @typescript-eslint/no-var-requires
119
- telemetry_1.default.track('prisma:error', { command: 'generate', message: (0, strip_color_1.default)(err.message) });
120
- }
121
- }
122
- });
123
- }
124
97
  generateDataSource(prisma, dataSource) {
125
98
  const fields = dataSource.fields.map((f) => ({
126
99
  name: f.name,
@@ -166,7 +139,7 @@ class PrismaSchemaGenerator {
166
139
  exprToText(expr) {
167
140
  return new sdk_1.ZModelCodeGenerator({ quote: 'double' }).generate(expr);
168
141
  }
169
- generateGenerator(prisma, decl) {
142
+ generateGenerator(prisma, decl, options) {
170
143
  var _a, _b;
171
144
  const generator = prisma.addGenerator(decl.name, decl.fields.map((f) => ({ name: f.name, text: this.configExprToText(f.value) })));
172
145
  // deal with configuring PrismaClient preview features
@@ -200,12 +173,37 @@ class PrismaSchemaGenerator {
200
173
  }
201
174
  }
202
175
  }
176
+ if (typeof options.overrideClientGenerationPath === 'string') {
177
+ const output = generator.fields.find((f) => f.name === 'output');
178
+ if (output) {
179
+ output.text = JSON.stringify(options.overrideClientGenerationPath);
180
+ }
181
+ else {
182
+ generator.fields.push({
183
+ name: 'output',
184
+ text: JSON.stringify(options.overrideClientGenerationPath),
185
+ });
186
+ }
187
+ }
203
188
  }
204
189
  }
205
190
  generateModel(prisma, decl) {
206
191
  const model = decl.isView ? prisma.addView(decl.name) : prisma.addModel(decl.name);
207
192
  for (const field of decl.fields) {
208
- this.generateModelField(model, field);
193
+ if (field.$inheritedFrom) {
194
+ if (
195
+ // abstract inheritance is always kept
196
+ field.$inheritedFrom.isAbstract ||
197
+ // logical schema keeps all inherited fields
198
+ this.mode === 'logical' ||
199
+ // id fields are always kept
200
+ (0, sdk_1.isIdField)(field)) {
201
+ this.generateModelField(model, field);
202
+ }
203
+ }
204
+ else {
205
+ this.generateModelField(model, field);
206
+ }
209
207
  }
210
208
  for (const attr of decl.attributes.filter((attr) => this.isPrismaAttribute(attr))) {
211
209
  this.generateContainerAttribute(model, attr);
@@ -215,6 +213,106 @@ class PrismaSchemaGenerator {
215
213
  .forEach((attr) => model.addComment('/// ' + this.zModelGenerator.generate(attr)));
216
214
  // user defined comments pass-through
217
215
  decl.comments.forEach((c) => model.addComment(c));
216
+ // generate relation fields on base models linking to concrete models
217
+ this.generateDelegateRelationForBase(model, decl);
218
+ // generate reverse relation fields on concrete models
219
+ this.generateDelegateRelationForConcrete(model, decl);
220
+ // expand relations on other models that reference delegated models to concrete models
221
+ this.expandPolymorphicRelations(model, decl);
222
+ }
223
+ generateDelegateRelationForBase(model, decl) {
224
+ if (this.mode !== 'physical') {
225
+ return;
226
+ }
227
+ if (!(0, sdk_1.isDelegateModel)(decl)) {
228
+ return;
229
+ }
230
+ // collect concrete models inheriting this model
231
+ const concreteModels = decl.$container.declarations.filter((d) => (0, ast_1.isDataModel)(d) && d !== decl && d.superTypes.some((base) => base.ref === decl));
232
+ // generate an optional relation field in delegate base model to each concrete model
233
+ concreteModels.forEach((concrete) => {
234
+ const auxName = `${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${(0, lower_case_first_1.lowerCaseFirst)(concrete.name)}`;
235
+ model.addField(auxName, new prisma_builder_1.ModelFieldType(concrete.name, false, true));
236
+ });
237
+ }
238
+ generateDelegateRelationForConcrete(model, concreteDecl) {
239
+ if (this.mode !== 'physical') {
240
+ return;
241
+ }
242
+ // generate a relation field for each delegated base model
243
+ const baseModels = concreteDecl.superTypes
244
+ .map((t) => t.ref)
245
+ .filter((t) => !!t)
246
+ .filter((t) => (0, sdk_1.isDelegateModel)(t));
247
+ baseModels.forEach((base) => {
248
+ const idFields = (0, ast_utils_1.getIdFields)(base);
249
+ // add relation fields
250
+ const relationField = `${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${(0, lower_case_first_1.lowerCaseFirst)(base.name)}`;
251
+ model.addField(relationField, base.name, [
252
+ new prisma_builder_1.FieldAttribute('@relation', [
253
+ new prisma_builder_1.AttributeArg('fields', new prisma_builder_1.AttributeArgValue('Array', idFields.map((idField) => new prisma_builder_1.AttributeArgValue('FieldReference', new prisma_builder_1.FieldReference(idField.name))))),
254
+ new prisma_builder_1.AttributeArg('references', new prisma_builder_1.AttributeArgValue('Array', idFields.map((idField) => new prisma_builder_1.AttributeArgValue('FieldReference', new prisma_builder_1.FieldReference(idField.name))))),
255
+ new prisma_builder_1.AttributeArg('onDelete', new prisma_builder_1.AttributeArgValue('FieldReference', new prisma_builder_1.FieldReference('Cascade'))),
256
+ new prisma_builder_1.AttributeArg('onUpdate', new prisma_builder_1.AttributeArgValue('FieldReference', new prisma_builder_1.FieldReference('Cascade'))),
257
+ ]),
258
+ ]);
259
+ });
260
+ }
261
+ expandPolymorphicRelations(model, decl) {
262
+ if (this.mode !== 'logical') {
263
+ return;
264
+ }
265
+ // the logical schema needs to expand relations to the delegate models to concrete ones
266
+ // for the given model, find all concrete models that have relation to it,
267
+ // and generate an auxiliary opposite relation field
268
+ decl.fields.forEach((f) => {
269
+ var _a;
270
+ const fieldType = (_a = f.type.reference) === null || _a === void 0 ? void 0 : _a.ref;
271
+ if (!(0, ast_1.isDataModel)(fieldType)) {
272
+ return;
273
+ }
274
+ // find concrete models that inherit from this field's model type
275
+ const concreteModels = decl.$container.declarations.filter((d) => (0, ast_1.isDataModel)(d) && isDescendantOf(d, fieldType));
276
+ concreteModels.forEach((concrete) => {
277
+ const relationField = model.addField(`${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${(0, lower_case_first_1.lowerCaseFirst)(concrete.name)}`, new prisma_builder_1.ModelFieldType(concrete.name, f.type.array, f.type.optional));
278
+ const relAttr = (0, sdk_1.getAttribute)(f, '@relation');
279
+ if (relAttr) {
280
+ const fieldsArg = relAttr.args.find((arg) => arg.name === 'fields');
281
+ if (fieldsArg) {
282
+ const idFields = (0, ast_utils_1.getIdFields)(fieldType);
283
+ idFields.forEach((idField) => {
284
+ model.addField(`${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${(0, lower_case_first_1.lowerCaseFirst)(concrete.name)}${(0, upper_case_first_1.upperCaseFirst)(idField.name)}`, idField.type.type);
285
+ });
286
+ const args = new prisma_builder_1.AttributeArgValue('Array', idFields.map((idField) => new prisma_builder_1.AttributeArgValue('FieldReference', new prisma_builder_1.FieldReference(idField.name))));
287
+ const addedRel = new prisma_builder_1.FieldAttribute('@relation', [
288
+ new prisma_builder_1.AttributeArg('fields', args),
289
+ new prisma_builder_1.AttributeArg('references', args),
290
+ ]);
291
+ if (this.supportNamedConstraints) {
292
+ addedRel.args.push(
293
+ // generate a `map` argument for foreign key constraint disambiguation
294
+ new prisma_builder_1.AttributeArg('map', new prisma_builder_1.AttributeArgValue('String', `${relationField.name}_fk`)));
295
+ }
296
+ relationField.attributes.push(addedRel);
297
+ }
298
+ else {
299
+ relationField.attributes.push(this.makeFieldAttribute(relAttr));
300
+ }
301
+ }
302
+ });
303
+ });
304
+ }
305
+ get supportNamedConstraints() {
306
+ const ds = this.zmodel.declarations.find(ast_1.isDataSource);
307
+ if (!ds) {
308
+ return false;
309
+ }
310
+ const provider = ds.fields.find((f) => f.name === 'provider');
311
+ if (!provider) {
312
+ return false;
313
+ }
314
+ const value = (0, utils_1.getStringLiteral)(provider.value);
315
+ return value && PROVIDERS_SUPPORTING_NAMED_CONSTRAINTS.includes(value);
218
316
  }
219
317
  isPrismaAttribute(attr) {
220
318
  if (!attr.decl.ref) {
@@ -240,22 +338,48 @@ class PrismaSchemaGenerator {
240
338
  return undefined;
241
339
  }
242
340
  }
243
- generateModelField(model, field) {
341
+ generateModelField(model, field, addToFront = false) {
244
342
  var _a, _b;
245
343
  const fieldType = field.type.type || ((_b = (_a = field.type.reference) === null || _a === void 0 ? void 0 : _a.ref) === null || _b === void 0 ? void 0 : _b.name) || this.getUnsupportedFieldType(field.type);
246
344
  if (!fieldType) {
247
345
  throw new sdk_1.PluginError(_1.name, `Field type is not resolved: ${field.$container.name}.${field.name}`);
248
346
  }
249
347
  const type = new prisma_builder_1.ModelFieldType(fieldType, field.type.array, field.type.optional);
348
+ if (this.mode === 'logical') {
349
+ if (field.attributes.some((attr) => (0, enhancer_utils_1.isDefaultWithAuth)(attr))) {
350
+ // field has `@default` with `auth()`, it should be set optional, and the
351
+ // default value setting is handled outside Prisma
352
+ type.optional = true;
353
+ }
354
+ if ((0, sdk_1.isRelationshipField)(field)) {
355
+ // if foreign key field has `@default` with `auth()`, the relation
356
+ // field should be set optional
357
+ const foreignKeyFields = (0, sdk_1.getForeignKeyFields)(field);
358
+ if (foreignKeyFields.some((fkField) => fkField.attributes.some((attr) => (0, enhancer_utils_1.isDefaultWithAuth)(attr)))) {
359
+ type.optional = true;
360
+ }
361
+ }
362
+ }
250
363
  const attributes = field.attributes
251
364
  .filter((attr) => this.isPrismaAttribute(attr))
365
+ // `@default` with `auth()` is handled outside Prisma
366
+ .filter((attr) => !(0, enhancer_utils_1.isDefaultWithAuth)(attr))
367
+ .filter((attr) =>
368
+ // when building physical schema, exclude `@default` for id fields inherited from delegate base
369
+ !(this.mode === 'physical' &&
370
+ (0, sdk_1.isIdField)(field) &&
371
+ this.isInheritedFromDelegate(field) &&
372
+ attr.decl.$refText === '@default'))
252
373
  .map((attr) => this.makeFieldAttribute(attr));
253
374
  const nonPrismaAttributes = field.attributes.filter((attr) => attr.decl.ref && !this.isPrismaAttribute(attr));
254
375
  const documentations = nonPrismaAttributes.map((attr) => '/// ' + this.zModelGenerator.generate(attr));
255
- const result = model.addField(field.name, type, attributes, documentations);
376
+ const result = model.addField(field.name, type, attributes, documentations, addToFront);
256
377
  // user defined comments pass-through
257
378
  field.comments.forEach((c) => result.addComment(c));
258
379
  }
380
+ isInheritedFromDelegate(field) {
381
+ return field.$inheritedFrom && (0, sdk_1.isDelegateModel)(field.$inheritedFrom);
382
+ }
259
383
  makeFieldAttribute(attr) {
260
384
  const attrName = (0, sdk_1.resolved)(attr.decl).name;
261
385
  if (attrName === FIELD_PASSTHROUGH_ATTR) {
@@ -344,24 +468,8 @@ class PrismaSchemaGenerator {
344
468
  _enum.addField(field.name, attributes, documentations);
345
469
  }
346
470
  }
347
- exports.default = PrismaSchemaGenerator;
348
- function getDefaultPrismaOutputFile(schemaPath) {
349
- var _a;
350
- // handle override from package.json
351
- const pkgJsonPath = (0, pkg_utils_1.findUp)(['package.json'], path_1.default.dirname(schemaPath));
352
- if (pkgJsonPath) {
353
- const pkgJson = JSON.parse(fs_1.default.readFileSync(pkgJsonPath, 'utf-8'));
354
- if (typeof ((_a = pkgJson === null || pkgJson === void 0 ? void 0 : pkgJson.zenstack) === null || _a === void 0 ? void 0 : _a.prisma) === 'string') {
355
- if (path_1.default.isAbsolute(pkgJson.zenstack.prisma)) {
356
- return pkgJson.zenstack.prisma;
357
- }
358
- else {
359
- // resolve relative to package.json
360
- return path_1.default.resolve(path_1.default.dirname(pkgJsonPath), pkgJson.zenstack.prisma);
361
- }
362
- }
363
- }
364
- return (0, sdk_1.resolvePath)('./prisma/schema.prisma', { schemaPath });
471
+ exports.PrismaSchemaGenerator = PrismaSchemaGenerator;
472
+ function isDescendantOf(model, superModel) {
473
+ return model.superTypes.some((s) => s.ref === superModel || isDescendantOf(s.ref, superModel));
365
474
  }
366
- exports.getDefaultPrismaOutputFile = getDefaultPrismaOutputFile;
367
475
  //# sourceMappingURL=schema-generator.js.map
@@ -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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"}
@@ -1,4 +1,24 @@
1
1
  import { DMMF } from '@prisma/generator-helper';
2
2
  import { PluginGlobalOptions, PluginOptions } from '@zenstackhq/sdk';
3
3
  import { Model } from '@zenstackhq/sdk/ast';
4
- export declare function generate(model: Model, options: PluginOptions, dmmf: DMMF.Document, globalOptions?: PluginGlobalOptions): Promise<void>;
4
+ export declare class ZodSchemaGenerator {
5
+ private readonly model;
6
+ private readonly options;
7
+ private readonly dmmf;
8
+ private readonly sourceFiles;
9
+ private readonly globalOptions;
10
+ constructor(model: Model, options: PluginOptions, dmmf: DMMF.Document, globalOptions: PluginGlobalOptions | undefined);
11
+ generate(): Promise<void>;
12
+ private get project();
13
+ private getExcludedModels;
14
+ private handleGeneratorOutputValue;
15
+ private generateCommonSchemas;
16
+ private generateEnumSchemas;
17
+ private generateObjectSchemas;
18
+ private generateModelSchemas;
19
+ private generateModelSchema;
20
+ private makePartial;
21
+ private makeOmit;
22
+ private makeMerge;
23
+ private makePassthrough;
24
+ }