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.
- package/cli/cli-util.js +7 -5
- package/cli/cli-util.js.map +1 -1
- package/cli/plugin-runner.js +3 -1
- package/cli/plugin-runner.js.map +1 -1
- package/language-server/utils.d.ts +5 -1
- package/language-server/utils.js +7 -0
- package/language-server/utils.js.map +1 -1
- package/language-server/validator/attribute-application-validator.js +3 -0
- package/language-server/validator/attribute-application-validator.js.map +1 -1
- package/language-server/validator/function-invocation-validator.js +1 -1
- package/language-server/validator/function-invocation-validator.js.map +1 -1
- package/language-server/validator/schema-validator.js +2 -1
- package/language-server/validator/schema-validator.js.map +1 -1
- package/language-server/validator/typedef-validator.d.ts +1 -0
- package/language-server/validator/typedef-validator.js +4 -0
- package/language-server/validator/typedef-validator.js.map +1 -1
- package/language-server/validator/utils.d.ts +1 -5
- package/language-server/validator/utils.js +0 -65
- package/language-server/validator/utils.js.map +1 -1
- package/language-server/zmodel-linker.js +10 -9
- package/language-server/zmodel-linker.js.map +1 -1
- package/language-server/zmodel-scope.d.ts +2 -2
- package/language-server/zmodel-scope.js +35 -27
- package/language-server/zmodel-scope.js.map +1 -1
- package/package.json +4 -4
- package/plugins/enhancer/enhance/auth-type-generator.d.ts +2 -2
- package/plugins/enhancer/enhance/auth-type-generator.js +4 -4
- package/plugins/enhancer/enhance/auth-type-generator.js.map +1 -1
- package/plugins/enhancer/enhance/index.d.ts +7 -3
- package/plugins/enhancer/enhance/index.js +109 -77
- package/plugins/enhancer/enhance/index.js.map +1 -1
- package/plugins/enhancer/enhance/model-typedef-generator.js +2 -1
- package/plugins/enhancer/enhance/model-typedef-generator.js.map +1 -1
- package/plugins/enhancer/index.js +2 -2
- package/plugins/enhancer/index.js.map +1 -1
- package/plugins/enhancer/policy/policy-guard-generator.d.ts +1 -1
- package/plugins/enhancer/policy/policy-guard-generator.js +23 -35
- package/plugins/enhancer/policy/policy-guard-generator.js.map +1 -1
- package/plugins/enhancer/policy/utils.js +15 -12
- package/plugins/enhancer/policy/utils.js.map +1 -1
- package/plugins/plugin-utils.d.ts +1 -1
- package/plugins/plugin-utils.js +5 -3
- package/plugins/plugin-utils.js.map +1 -1
- package/plugins/prisma/index.js +26 -1
- package/plugins/prisma/index.js.map +1 -1
- package/plugins/prisma/schema-generator.d.ts +0 -1
- package/plugins/prisma/schema-generator.js +40 -60
- package/plugins/prisma/schema-generator.js.map +1 -1
- package/plugins/zod/generator.d.ts +2 -0
- package/plugins/zod/generator.js +77 -19
- package/plugins/zod/generator.js.map +1 -1
- package/plugins/zod/transformer.d.ts +3 -2
- package/plugins/zod/transformer.js +31 -10
- package/plugins/zod/transformer.js.map +1 -1
- package/plugins/zod/utils/schema-gen.d.ts +1 -2
- package/plugins/zod/utils/schema-gen.js +0 -40
- package/plugins/zod/utils/schema-gen.js.map +1 -1
- package/res/stdlib.zmodel +3 -3
- package/utils/ast-utils.d.ts +5 -7
- package/utils/ast-utils.js +8 -43
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
247
|
+
.filter((t) => (0, sdk_2.isDelegateModel)(t));
|
|
248
248
|
baseModels.forEach((base) => {
|
|
249
|
-
const idFields = (0,
|
|
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,
|
|
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,
|
|
286
|
+
const relAttr = (0, sdk_2.getAttribute)(field, '@relation');
|
|
287
287
|
let relAttrAdded = false;
|
|
288
288
|
if (relAttr) {
|
|
289
|
-
if ((0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
505
|
+
const relAttr = (0, sdk_2.getAttribute)(field, '@relation');
|
|
506
506
|
if (!relAttr) {
|
|
507
507
|
return undefined;
|
|
508
508
|
}
|
|
509
|
-
return (0,
|
|
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,
|
|
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
|
|
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,
|
|
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,
|
|
595
|
+
const dsProvider = (0, sdk_2.getDataSourceProvider)(zmodel);
|
|
603
596
|
if (dsProvider && !PROVIDERS_SUPPORTING_TYPEDEF_FIELDS.includes(dsProvider)) {
|
|
604
|
-
throw new
|
|
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,
|
|
601
|
+
return field.$inheritedFrom && (0, sdk_2.isDelegateModel)(field.$inheritedFrom);
|
|
622
602
|
}
|
|
623
603
|
makeFieldAttribute(attr) {
|
|
624
|
-
const attrName = (0,
|
|
604
|
+
const attrName = (0, sdk_2.resolved)(attr.decl).name;
|
|
625
605
|
if (attrName === FIELD_PASSTHROUGH_ATTR) {
|
|
626
|
-
const text = (0,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
657
|
+
const attrName = (0, sdk_2.resolved)(attr.decl).name;
|
|
678
658
|
if (attrName === MODEL_PASSTHROUGH_ATTR) {
|
|
679
|
-
const text = (0,
|
|
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;
|
package/plugins/zod/generator.js
CHANGED
|
@@ -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
|
-
|
|
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(`
|
|
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
|
|
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) {
|