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.
- package/README.md +29 -1
- package/cli/cli-util.d.ts +1 -1
- package/cli/cli-util.js +20 -2
- package/cli/cli-util.js.map +1 -1
- package/cli/index.js +0 -3
- package/cli/index.js.map +1 -1
- package/cli/plugin-runner.d.ts +4 -2
- package/cli/plugin-runner.js +128 -90
- package/cli/plugin-runner.js.map +1 -1
- package/language-server/validator/datamodel-validator.js +26 -19
- package/language-server/validator/datamodel-validator.js.map +1 -1
- package/language-server/validator/datasource-validator.js +1 -1
- package/language-server/validator/datasource-validator.js.map +1 -1
- package/language-server/validator/enum-validator.js +1 -1
- package/language-server/validator/enum-validator.js.map +1 -1
- package/language-server/validator/expression-validator.js +12 -6
- package/language-server/validator/expression-validator.js.map +1 -1
- package/language-server/validator/function-invocation-validator.js +1 -2
- package/language-server/validator/function-invocation-validator.js.map +1 -1
- package/language-server/validator/schema-validator.js +1 -1
- package/language-server/validator/schema-validator.js.map +1 -1
- package/language-server/validator/utils.d.ts +1 -1
- package/language-server/validator/utils.js +3 -3
- package/language-server/validator/utils.js.map +1 -1
- package/language-server/zmodel-code-action.js +4 -3
- package/language-server/zmodel-code-action.js.map +1 -1
- package/language-server/zmodel-completion-provider.js +2 -2
- package/language-server/zmodel-completion-provider.js.map +1 -1
- package/language-server/zmodel-linker.d.ts +0 -1
- package/language-server/zmodel-linker.js +9 -67
- package/language-server/zmodel-linker.js.map +1 -1
- package/language-server/zmodel-scope.d.ts +5 -3
- package/language-server/zmodel-scope.js +117 -68
- package/language-server/zmodel-scope.js.map +1 -1
- package/package.json +6 -6
- package/plugins/enhancer/enhance/index.d.ts +7 -0
- package/plugins/enhancer/enhance/index.js +336 -0
- package/plugins/enhancer/enhance/index.js.map +1 -0
- package/plugins/enhancer/enhancer-utils.d.ts +5 -0
- package/plugins/enhancer/enhancer-utils.js +22 -0
- package/plugins/enhancer/enhancer-utils.js.map +1 -0
- package/plugins/enhancer/index.d.ts +5 -0
- package/plugins/enhancer/index.js +51 -0
- package/plugins/enhancer/index.js.map +1 -0
- package/plugins/enhancer/model-meta/index.d.ts +4 -0
- package/plugins/enhancer/model-meta/index.js +32 -0
- package/plugins/enhancer/model-meta/index.js.map +1 -0
- package/plugins/{access-policy → enhancer/policy}/expression-writer.d.ts +3 -0
- package/plugins/{access-policy → enhancer/policy}/expression-writer.js +97 -47
- package/plugins/enhancer/policy/expression-writer.js.map +1 -0
- package/plugins/enhancer/policy/index.d.ts +4 -0
- package/plugins/{access-policy → enhancer/policy}/index.js +8 -10
- package/plugins/enhancer/policy/index.js.map +1 -0
- package/plugins/{access-policy → enhancer/policy}/policy-guard-generator.d.ts +4 -4
- package/plugins/{access-policy → enhancer/policy}/policy-guard-generator.js +26 -66
- package/plugins/enhancer/policy/policy-guard-generator.js.map +1 -0
- package/plugins/plugin-utils.d.ts +8 -0
- package/plugins/plugin-utils.js +17 -9
- package/plugins/plugin-utils.js.map +1 -1
- package/plugins/prisma/index.d.ts +2 -0
- package/plugins/prisma/index.js +91 -3
- package/plugins/prisma/index.js.map +1 -1
- package/plugins/prisma/prisma-builder.d.ts +1 -1
- package/plugins/prisma/prisma-builder.js +7 -2
- package/plugins/prisma/prisma-builder.js.map +1 -1
- package/plugins/prisma/schema-generator.d.ts +10 -4
- package/plugins/prisma/schema-generator.js +178 -70
- package/plugins/prisma/schema-generator.js.map +1 -1
- package/plugins/zod/generator.d.ts +21 -1
- package/plugins/zod/generator.js +364 -352
- package/plugins/zod/generator.js.map +1 -1
- package/plugins/zod/index.d.ts +1 -0
- package/plugins/zod/index.js +4 -2
- package/plugins/zod/index.js.map +1 -1
- package/plugins/zod/transformer.d.ts +7 -5
- package/plugins/zod/transformer.js +18 -14
- package/plugins/zod/transformer.js.map +1 -1
- package/plugins/zod/types.d.ts +0 -2
- package/plugins/zod/utils/schema-gen.js +2 -3
- package/plugins/zod/utils/schema-gen.js.map +1 -1
- package/res/stdlib.zmodel +7 -2
- package/telemetry.d.ts +1 -1
- package/telemetry.js +1 -1
- package/telemetry.js.map +1 -1
- package/utils/ast-utils.d.ts +5 -2
- package/utils/ast-utils.js +63 -24
- package/utils/ast-utils.js.map +1 -1
- package/utils/exec-utils.d.ts +7 -3
- package/utils/exec-utils.js +18 -6
- package/utils/exec-utils.js.map +1 -1
- package/plugins/access-policy/expression-writer.js.map +0 -1
- package/plugins/access-policy/index.d.ts +0 -4
- package/plugins/access-policy/index.js.map +0 -1
- package/plugins/access-policy/policy-guard-generator.js.map +0 -1
- package/plugins/model-meta/index.d.ts +0 -4
- package/plugins/model-meta/index.js +0 -46
- package/plugins/model-meta/index.js.map +0 -1
- package/utils/typescript-expression-transformer.d.ts +0 -56
- package/utils/typescript-expression-transformer.js +0 -338
- 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.
|
|
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
|
|
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
|
|
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(
|
|
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
|
|
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
|
-
|
|
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.
|
|
348
|
-
function
|
|
349
|
-
|
|
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
|
|
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
|
+
}
|