zenstack 2.15.1 → 2.16.0
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/actions/generate.js +5 -0
- package/cli/actions/generate.js.map +1 -1
- package/cli/actions/init.js +1 -1
- package/cli/actions/init.js.map +1 -1
- package/cli/plugin-runner.js +1 -1
- package/cli/plugin-runner.js.map +1 -1
- package/language-server/zmodel-workspace-manager.js +35 -1
- package/language-server/zmodel-workspace-manager.js.map +1 -1
- package/package.json +6 -11
- package/plugins/enhancer/enhance/checker-type-generator.js +2 -2
- package/plugins/enhancer/enhance/checker-type-generator.js.map +1 -1
- package/plugins/enhancer/enhance/index.d.ts +3 -0
- package/plugins/enhancer/enhance/index.js +56 -12
- package/plugins/enhancer/enhance/index.js.map +1 -1
- package/plugins/enhancer/policy/expression-writer.js +5 -9
- package/plugins/enhancer/policy/expression-writer.js.map +1 -1
- package/plugins/enhancer/policy/policy-guard-generator.js +3 -3
- package/plugins/enhancer/policy/policy-guard-generator.js.map +1 -1
- package/plugins/prisma/index.js +8 -6
- package/plugins/prisma/index.js.map +1 -1
- package/plugins/prisma/schema-generator.js +44 -44
- package/plugins/prisma/schema-generator.js.map +1 -1
- package/plugins/zod/generator.js +19 -19
- package/plugins/zod/generator.js.map +1 -1
- package/plugins/zod/index.js +2 -5
- package/plugins/zod/index.js.map +1 -1
- package/plugins/zod/transformer.js +16 -16
- package/plugins/zod/transformer.js.map +1 -1
- package/plugins/zod/utils/schema-gen.js +3 -3
- package/plugins/zod/utils/schema-gen.js.map +1 -1
- package/res/stdlib.zmodel +7 -7
- package/telemetry.js +4 -4
- package/telemetry.js.map +1 -1
- /package/res/{starter.zmodel → starter.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-writer.js","sourceRoot":"","sources":["../../../../src/plugins/enhancer/policy/expression-writer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"expression-writer.js","sourceRoot":"","sources":["../../../../src/plugins/enhancer/policy/expression-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@ exports.PolicyGenerator = void 0;
|
|
|
7
7
|
const ast_1 = require("@zenstackhq/language/ast");
|
|
8
8
|
const sdk_1 = require("@zenstackhq/sdk");
|
|
9
9
|
const prisma_1 = require("@zenstackhq/sdk/prisma");
|
|
10
|
+
const local_helpers_1 = require("@zenstackhq/runtime/local-helpers");
|
|
10
11
|
const langium_1 = require("langium");
|
|
11
|
-
const lower_case_first_1 = require("lower-case-first");
|
|
12
12
|
const path_1 = __importDefault(require("path"));
|
|
13
13
|
const ts_morph_1 = require("ts-morph");
|
|
14
14
|
const ast_utils_1 = require("../../../utils/ast-utils");
|
|
@@ -82,7 +82,7 @@ class PolicyGenerator {
|
|
|
82
82
|
writer.write('policy:');
|
|
83
83
|
writer.inlineBlock(() => {
|
|
84
84
|
for (const model of models) {
|
|
85
|
-
writer.write(`${(0,
|
|
85
|
+
writer.write(`${(0, local_helpers_1.lowerCaseFirst)(model.name)}:`);
|
|
86
86
|
writer.block(() => {
|
|
87
87
|
// model-level guards
|
|
88
88
|
this.writeModelLevelDefs(model, writer);
|
|
@@ -518,7 +518,7 @@ class PolicyGenerator {
|
|
|
518
518
|
writer.write('validation:');
|
|
519
519
|
writer.inlineBlock(() => {
|
|
520
520
|
for (const model of models) {
|
|
521
|
-
writer.write(`${(0,
|
|
521
|
+
writer.write(`${(0, local_helpers_1.lowerCaseFirst)(model.name)}:`);
|
|
522
522
|
writer.inlineBlock(() => {
|
|
523
523
|
writer.write(`hasValidation: ${
|
|
524
524
|
// explicit validation rules
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-guard-generator.js","sourceRoot":"","sources":["../../../../src/plugins/enhancer/policy/policy-guard-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policy-guard-generator.js","sourceRoot":"","sources":["../../../../src/plugins/enhancer/policy/policy-guard-generator.ts"],"names":[],"mappings":"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"}
|
package/plugins/prisma/index.js
CHANGED
|
@@ -15,7 +15,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.description = exports.name = void 0;
|
|
16
16
|
exports.trackPrismaSchemaError = trackPrismaSchemaError;
|
|
17
17
|
const sdk_1 = require("@zenstackhq/sdk");
|
|
18
|
-
const ast_1 = require("@zenstackhq/sdk/ast");
|
|
19
18
|
const prisma_1 = require("@zenstackhq/sdk/prisma");
|
|
20
19
|
const colors_1 = __importDefault(require("colors"));
|
|
21
20
|
const fs_1 = __importDefault(require("fs"));
|
|
@@ -61,10 +60,9 @@ const run = (model, options, _dmmf, _globalOptions) => __awaiter(void 0, void 0,
|
|
|
61
60
|
throw new sdk_1.PluginError(exports.name, `Failed to run "prisma generate"`);
|
|
62
61
|
}
|
|
63
62
|
// extract user-provided prisma client output path
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
const clientOutput = (0, sdk_1.getLiteral)(clientOutputField === null || clientOutputField === void 0 ? void 0 : clientOutputField.value);
|
|
63
|
+
const gen = (0, sdk_1.getPrismaClientGenerator)(model);
|
|
64
|
+
const clientOutput = gen === null || gen === void 0 ? void 0 : gen.output;
|
|
65
|
+
const newGenerator = !!(gen === null || gen === void 0 ? void 0 : gen.isNewGenerator);
|
|
68
66
|
if (clientOutput) {
|
|
69
67
|
if (path_1.default.isAbsolute(clientOutput)) {
|
|
70
68
|
prismaClientPath = clientOutput;
|
|
@@ -78,13 +76,17 @@ const run = (model, options, _dmmf, _globalOptions) => __awaiter(void 0, void 0,
|
|
|
78
76
|
// record custom location where the prisma client was generated
|
|
79
77
|
clientOutputDir = prismaClientPath;
|
|
80
78
|
}
|
|
79
|
+
if (newGenerator) {
|
|
80
|
+
// "prisma-client" generator requires an extra "/client" import suffix
|
|
81
|
+
prismaClientPath = `${prismaClientPath}/client`;
|
|
82
|
+
}
|
|
81
83
|
// get PrismaClient dts path
|
|
82
84
|
if (clientOutput) {
|
|
83
85
|
// if a custom prisma client output path is configured, first try treating
|
|
84
86
|
// clientOutputDir as a relative path and locate the index.d.ts file
|
|
85
87
|
prismaClientDtsPath = path_1.default.resolve(path_1.default.dirname(options.schemaPath), clientOutputDir, 'index.d.ts');
|
|
86
88
|
}
|
|
87
|
-
if (!prismaClientDtsPath || !fs_1.default.existsSync(prismaClientDtsPath)) {
|
|
89
|
+
if (!newGenerator && (!prismaClientDtsPath || !fs_1.default.existsSync(prismaClientDtsPath))) {
|
|
88
90
|
// if the file does not exist, try node module resolution
|
|
89
91
|
try {
|
|
90
92
|
// the resolution is relative to the schema path by default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/prisma/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAkJA,wDASC;AA3JD,yCAOyB;AACzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/prisma/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,14 +16,13 @@ exports.PrismaSchemaGenerator = void 0;
|
|
|
16
16
|
const ast_1 = require("@zenstackhq/language/ast");
|
|
17
17
|
const sdk_1 = require("@zenstackhq/sdk");
|
|
18
18
|
const prisma_1 = require("@zenstackhq/sdk/prisma");
|
|
19
|
-
const ts_pattern_1 = require("ts-pattern");
|
|
20
19
|
const runtime_1 = require("@zenstackhq/runtime");
|
|
21
|
-
const
|
|
20
|
+
const local_helpers_1 = require("@zenstackhq/runtime/local-helpers");
|
|
22
21
|
const fs_1 = __importDefault(require("fs"));
|
|
23
22
|
const promises_1 = require("fs/promises");
|
|
24
|
-
const lower_case_first_1 = require("lower-case-first");
|
|
25
23
|
const path_1 = __importDefault(require("path"));
|
|
26
24
|
const semver_1 = __importDefault(require("semver"));
|
|
25
|
+
const ts_pattern_1 = require("ts-pattern");
|
|
27
26
|
const _1 = require(".");
|
|
28
27
|
const utils_1 = require("../../language-server/validator/utils");
|
|
29
28
|
const ast_utils_1 = require("../../utils/ast-utils");
|
|
@@ -43,7 +42,7 @@ const IDENTIFIER_NAME_MAX_LENGTH = 50 - runtime_1.DELEGATE_AUX_RELATION_PREFIX.l
|
|
|
43
42
|
class PrismaSchemaGenerator {
|
|
44
43
|
constructor(zmodel) {
|
|
45
44
|
this.zmodel = zmodel;
|
|
46
|
-
this.zModelGenerator = new
|
|
45
|
+
this.zModelGenerator = new sdk_1.ZModelCodeGenerator();
|
|
47
46
|
this.PRELUDE = `//////////////////////////////////////////////////////////////////////////////////////////////
|
|
48
47
|
// DO NOT MODIFY THIS FILE //
|
|
49
48
|
// This file is automatically generated by ZenStack CLI and should not be manually updated. //
|
|
@@ -58,7 +57,7 @@ class PrismaSchemaGenerator {
|
|
|
58
57
|
generate(options) {
|
|
59
58
|
return __awaiter(this, void 0, void 0, function* () {
|
|
60
59
|
if (!options.output) {
|
|
61
|
-
throw new
|
|
60
|
+
throw new sdk_1.PluginError(_1.name, 'Output file is not specified');
|
|
62
61
|
}
|
|
63
62
|
const outFile = options.output;
|
|
64
63
|
const warnings = [];
|
|
@@ -67,7 +66,7 @@ class PrismaSchemaGenerator {
|
|
|
67
66
|
}
|
|
68
67
|
if (options.customAttributesAsComments !== undefined &&
|
|
69
68
|
typeof options.customAttributesAsComments !== 'boolean') {
|
|
70
|
-
throw new
|
|
69
|
+
throw new sdk_1.PluginError(_1.name, 'option "customAttributesAsComments" must be a boolean');
|
|
71
70
|
}
|
|
72
71
|
this.customAttributesAsComments = options.customAttributesAsComments === true;
|
|
73
72
|
const prismaVersion = (0, prisma_1.getPrismaVersion)();
|
|
@@ -150,19 +149,20 @@ class PrismaSchemaGenerator {
|
|
|
150
149
|
return JSON.stringify(expr.value);
|
|
151
150
|
}
|
|
152
151
|
exprToText(expr) {
|
|
153
|
-
return new
|
|
152
|
+
return new sdk_1.ZModelCodeGenerator({ quote: 'double' }).generate(expr);
|
|
154
153
|
}
|
|
155
154
|
generateGenerator(prisma, decl, options) {
|
|
156
155
|
var _a, _b;
|
|
157
156
|
const generator = prisma.addGenerator(decl.name, decl.fields.map((f) => ({ name: f.name, text: this.configExprToText(f.value) })));
|
|
158
157
|
// deal with configuring PrismaClient preview features
|
|
159
158
|
const provider = generator.fields.find((f) => f.name === 'provider');
|
|
160
|
-
if ((provider === null || provider === void 0 ? void 0 : provider.text) === JSON.stringify('prisma-client-js')
|
|
159
|
+
if ((provider === null || provider === void 0 ? void 0 : provider.text) === JSON.stringify('prisma-client-js') ||
|
|
160
|
+
(provider === null || provider === void 0 ? void 0 : provider.text) === JSON.stringify('prisma-client')) {
|
|
161
161
|
const prismaVersion = (0, prisma_1.getPrismaVersion)();
|
|
162
162
|
if (prismaVersion) {
|
|
163
163
|
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 : '[]');
|
|
164
164
|
if (!Array.isArray(previewFeatures)) {
|
|
165
|
-
throw new
|
|
165
|
+
throw new sdk_1.PluginError(_1.name, 'option "previewFeatures" must be an array');
|
|
166
166
|
}
|
|
167
167
|
if (previewFeatures.length > 0) {
|
|
168
168
|
const curr = generator.fields.find((f) => f.name === 'previewFeatures');
|
|
@@ -192,14 +192,14 @@ class PrismaSchemaGenerator {
|
|
|
192
192
|
const model = decl.isView ? prisma.addView(decl.name) : prisma.addModel(decl.name);
|
|
193
193
|
for (const field of decl.fields) {
|
|
194
194
|
if (field.$inheritedFrom) {
|
|
195
|
-
const inheritedFromDelegate = (0,
|
|
195
|
+
const inheritedFromDelegate = (0, sdk_1.getInheritedFromDelegate)(field);
|
|
196
196
|
if (
|
|
197
197
|
// fields inherited from delegate are excluded from physical schema
|
|
198
198
|
!inheritedFromDelegate ||
|
|
199
199
|
// logical schema keeps all inherited fields
|
|
200
200
|
this.mode === 'logical' ||
|
|
201
201
|
// id fields are always kept
|
|
202
|
-
(0,
|
|
202
|
+
(0, sdk_1.isIdField)(field)) {
|
|
203
203
|
this.generateModelField(model, field);
|
|
204
204
|
}
|
|
205
205
|
}
|
|
@@ -226,14 +226,14 @@ class PrismaSchemaGenerator {
|
|
|
226
226
|
if (this.mode !== 'physical') {
|
|
227
227
|
return;
|
|
228
228
|
}
|
|
229
|
-
if (!(0,
|
|
229
|
+
if (!(0, sdk_1.isDelegateModel)(decl)) {
|
|
230
230
|
return;
|
|
231
231
|
}
|
|
232
232
|
// collect concrete models inheriting this model
|
|
233
233
|
const concreteModels = (0, ast_utils_1.getConcreteModels)(decl);
|
|
234
234
|
// generate an optional relation field in delegate base model to each concrete model
|
|
235
235
|
concreteModels.forEach((concrete) => {
|
|
236
|
-
const auxName = this.truncate(`${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${(0,
|
|
236
|
+
const auxName = this.truncate(`${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${(0, local_helpers_1.lowerCaseFirst)(concrete.name)}`);
|
|
237
237
|
model.addField(auxName, new prisma_builder_1.ModelFieldType(concrete.name, false, true));
|
|
238
238
|
});
|
|
239
239
|
}
|
|
@@ -245,11 +245,11 @@ class PrismaSchemaGenerator {
|
|
|
245
245
|
const baseModels = concreteDecl.superTypes
|
|
246
246
|
.map((t) => t.ref)
|
|
247
247
|
.filter((t) => !!t)
|
|
248
|
-
.filter((t) => (0,
|
|
248
|
+
.filter((t) => (0, sdk_1.isDelegateModel)(t));
|
|
249
249
|
baseModels.forEach((base) => {
|
|
250
250
|
const idFields = (0, sdk_1.getIdFields)(base);
|
|
251
251
|
// add relation fields
|
|
252
|
-
const relationField = this.truncate(`${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${(0,
|
|
252
|
+
const relationField = this.truncate(`${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${(0, local_helpers_1.lowerCaseFirst)(base.name)}`);
|
|
253
253
|
model.addField(relationField, base.name, [
|
|
254
254
|
new prisma_builder_1.FieldAttribute('@relation', [
|
|
255
255
|
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))))),
|
|
@@ -270,7 +270,7 @@ class PrismaSchemaGenerator {
|
|
|
270
270
|
dataModel.fields.forEach((field) => {
|
|
271
271
|
var _a;
|
|
272
272
|
// don't process fields inherited from a delegate model
|
|
273
|
-
if (field.$inheritedFrom && (0,
|
|
273
|
+
if (field.$inheritedFrom && (0, sdk_1.isDelegateModel)(field.$inheritedFrom)) {
|
|
274
274
|
return;
|
|
275
275
|
}
|
|
276
276
|
const fieldType = (_a = field.type.reference) === null || _a === void 0 ? void 0 : _a.ref;
|
|
@@ -284,13 +284,13 @@ class PrismaSchemaGenerator {
|
|
|
284
284
|
// e.g., delegate_aux_User_myAsset_Video
|
|
285
285
|
const auxRelationName = this.truncate(`${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${dataModel.name}_${field.name}_${concrete.name}`);
|
|
286
286
|
const auxRelationField = model.addField(auxRelationName, new prisma_builder_1.ModelFieldType(concrete.name, field.type.array, field.type.optional));
|
|
287
|
-
const relAttr = (0,
|
|
287
|
+
const relAttr = (0, sdk_1.getAttribute)(field, '@relation');
|
|
288
288
|
let relAttrAdded = false;
|
|
289
289
|
if (relAttr) {
|
|
290
|
-
if ((0,
|
|
290
|
+
if ((0, sdk_1.getAttributeArg)(relAttr, 'fields')) {
|
|
291
291
|
// for reach foreign key field pointing to the delegate model, we need to create an aux foreign key
|
|
292
292
|
// to point to the concrete model
|
|
293
|
-
const relationFieldPairs = (0,
|
|
293
|
+
const relationFieldPairs = (0, sdk_1.getRelationKeyPairs)(field);
|
|
294
294
|
const addedFkFields = [];
|
|
295
295
|
for (const { foreignKey } of relationFieldPairs) {
|
|
296
296
|
const addedFkField = this.replicateForeignKey(model, dataModel, concrete, foreignKey);
|
|
@@ -345,7 +345,7 @@ class PrismaSchemaGenerator {
|
|
|
345
345
|
}
|
|
346
346
|
replicateForeignKeyModelLevelUnique(model, dataModel, origForeignKey, addedFkField) {
|
|
347
347
|
for (const uniqueAttr of dataModel.attributes.filter((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@unique'; })) {
|
|
348
|
-
const fields = (0,
|
|
348
|
+
const fields = (0, sdk_1.getAttributeArg)(uniqueAttr, 'fields');
|
|
349
349
|
if (fields && (0, ast_1.isArrayExpr)(fields)) {
|
|
350
350
|
const found = fields.items.find((fieldRef) => (0, ast_1.isReferenceExpr)(fieldRef) && fieldRef.target.ref === origForeignKey);
|
|
351
351
|
if (found) {
|
|
@@ -354,7 +354,7 @@ class PrismaSchemaGenerator {
|
|
|
354
354
|
const fieldNames = [];
|
|
355
355
|
for (const arg of fields.items) {
|
|
356
356
|
if (!(0, ast_1.isReferenceExpr)(arg)) {
|
|
357
|
-
throw new
|
|
357
|
+
throw new sdk_1.PluginError(_1.name, 'Unexpected field reference in @@unique attribute');
|
|
358
358
|
}
|
|
359
359
|
if (arg.target.ref === origForeignKey) {
|
|
360
360
|
// replace
|
|
@@ -433,20 +433,20 @@ class PrismaSchemaGenerator {
|
|
|
433
433
|
if (!oppositeRelationField) {
|
|
434
434
|
return;
|
|
435
435
|
}
|
|
436
|
-
const oppositeRelationAttr = (0,
|
|
436
|
+
const oppositeRelationAttr = (0, sdk_1.getAttribute)(oppositeRelationField, '@relation');
|
|
437
437
|
const fieldType = f.type.reference.ref;
|
|
438
438
|
// relation name format: delegate_aux_[relationType]_[oppositeRelationField]_[concrete]
|
|
439
439
|
const relName = this.truncate(`${runtime_1.DELEGATE_AUX_RELATION_PREFIX}_${fieldType.name}_${oppositeRelationField.name}_${decl.name}`);
|
|
440
440
|
// recreate `@relation` attribute
|
|
441
441
|
prismaField.attributes = prismaField.attributes.filter((attr) => attr.name !== '@relation');
|
|
442
|
-
const relKeyPairs = (0,
|
|
442
|
+
const relKeyPairs = (0, sdk_1.getRelationKeyPairs)(f);
|
|
443
443
|
if (
|
|
444
444
|
// array relation doesn't need FK
|
|
445
445
|
f.type.array ||
|
|
446
446
|
// FK field is defined on this side
|
|
447
447
|
relKeyPairs.length > 0 ||
|
|
448
448
|
// opposite relation already has FK, we don't need to generate on this side
|
|
449
|
-
(oppositeRelationAttr && (0,
|
|
449
|
+
(oppositeRelationAttr && (0, sdk_1.getAttributeArg)(oppositeRelationAttr, 'fields'))) {
|
|
450
450
|
const relationArgs = [new prisma_builder_1.AttributeArg(undefined, new prisma_builder_1.AttributeArgValue('String', relName))];
|
|
451
451
|
const isSelfRelation = f.type.reference.ref === ((_b = f.$inheritedFrom) !== null && _b !== void 0 ? _b : f.$container);
|
|
452
452
|
if (relKeyPairs.length > 0 && !isSelfRelation) {
|
|
@@ -480,10 +480,10 @@ class PrismaSchemaGenerator {
|
|
|
480
480
|
findUpMatchingFieldFromDelegate(start, target) {
|
|
481
481
|
for (const base of start.superTypes) {
|
|
482
482
|
if ((0, ast_1.isDataModel)(base.ref)) {
|
|
483
|
-
if ((0,
|
|
483
|
+
if ((0, sdk_1.isDelegateModel)(base.ref)) {
|
|
484
484
|
const field = base.ref.fields.find((f) => f.name === target.name);
|
|
485
485
|
if (field) {
|
|
486
|
-
if (!field.$inheritedFrom || !(0,
|
|
486
|
+
if (!field.$inheritedFrom || !(0, sdk_1.isDelegateModel)(field.$inheritedFrom)) {
|
|
487
487
|
// if this field is not inherited from an upper delegate, we're done
|
|
488
488
|
return field;
|
|
489
489
|
}
|
|
@@ -519,11 +519,11 @@ class PrismaSchemaGenerator {
|
|
|
519
519
|
}
|
|
520
520
|
}
|
|
521
521
|
getRelationName(field) {
|
|
522
|
-
const relAttr = (0,
|
|
522
|
+
const relAttr = (0, sdk_1.getAttribute)(field, '@relation');
|
|
523
523
|
if (!relAttr) {
|
|
524
524
|
return undefined;
|
|
525
525
|
}
|
|
526
|
-
return (0,
|
|
526
|
+
return (0, sdk_1.getAttributeArgLiteral)(relAttr, 'name');
|
|
527
527
|
}
|
|
528
528
|
get supportNamedConstraints() {
|
|
529
529
|
const ds = this.zmodel.declarations.find(ast_1.isDataSource);
|
|
@@ -541,7 +541,7 @@ class PrismaSchemaGenerator {
|
|
|
541
541
|
if (!attr.decl.ref) {
|
|
542
542
|
return false;
|
|
543
543
|
}
|
|
544
|
-
const attrDecl = (0,
|
|
544
|
+
const attrDecl = (0, sdk_1.resolved)(attr.decl);
|
|
545
545
|
return (!!attrDecl.attributes.find((a) => { var _a; return ((_a = a.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@@prisma'; }) ||
|
|
546
546
|
// the special pass-through attribute
|
|
547
547
|
attrDecl.name === MODEL_PASSTHROUGH_ATTR ||
|
|
@@ -586,7 +586,7 @@ class PrismaSchemaGenerator {
|
|
|
586
586
|
}
|
|
587
587
|
}
|
|
588
588
|
if (!fieldType) {
|
|
589
|
-
throw new
|
|
589
|
+
throw new sdk_1.PluginError(_1.name, `Field type is not resolved: ${field.$container.name}.${field.name}`);
|
|
590
590
|
}
|
|
591
591
|
const isArray =
|
|
592
592
|
// typed-JSON fields should be translated to scalar Json type
|
|
@@ -599,7 +599,7 @@ class PrismaSchemaGenerator {
|
|
|
599
599
|
.filter((attr) =>
|
|
600
600
|
// when building physical schema, exclude `@default` for id fields inherited from delegate base
|
|
601
601
|
!(this.mode === 'physical' &&
|
|
602
|
-
(0,
|
|
602
|
+
(0, sdk_1.isIdField)(field) &&
|
|
603
603
|
this.isInheritedFromDelegate(field) &&
|
|
604
604
|
attr.decl.$refText === '@default'))
|
|
605
605
|
.map((attr) => this.makeFieldAttribute(attr));
|
|
@@ -624,28 +624,28 @@ class PrismaSchemaGenerator {
|
|
|
624
624
|
.with('Json', () => new prisma_builder_1.AttributeArgValue('String', '{}'))
|
|
625
625
|
.with('Bytes', () => new prisma_builder_1.AttributeArgValue('String', ''))
|
|
626
626
|
.otherwise(() => {
|
|
627
|
-
throw new
|
|
627
|
+
throw new sdk_1.PluginError(_1.name, `Unsupported field type with default value: ${field.type.type}`);
|
|
628
628
|
});
|
|
629
629
|
result.attributes.push(new prisma_builder_1.FieldAttribute('@default', [new prisma_builder_1.AttributeArg(undefined, dummyDefaultValue)]));
|
|
630
630
|
}
|
|
631
631
|
ensureSupportingTypeDefFields(zmodel) {
|
|
632
|
-
const dsProvider = (0,
|
|
632
|
+
const dsProvider = (0, sdk_1.getDataSourceProvider)(zmodel);
|
|
633
633
|
if (dsProvider && !PROVIDERS_SUPPORTING_TYPEDEF_FIELDS.includes(dsProvider)) {
|
|
634
|
-
throw new
|
|
634
|
+
throw new sdk_1.PluginError(_1.name, `Datasource provider "${dsProvider}" does not support "@json" fields`);
|
|
635
635
|
}
|
|
636
636
|
}
|
|
637
637
|
isInheritedFromDelegate(field) {
|
|
638
|
-
return field.$inheritedFrom && (0,
|
|
638
|
+
return field.$inheritedFrom && (0, sdk_1.isDelegateModel)(field.$inheritedFrom);
|
|
639
639
|
}
|
|
640
640
|
makeFieldAttribute(attr) {
|
|
641
|
-
const attrName = (0,
|
|
641
|
+
const attrName = (0, sdk_1.resolved)(attr.decl).name;
|
|
642
642
|
if (attrName === FIELD_PASSTHROUGH_ATTR) {
|
|
643
|
-
const text = (0,
|
|
643
|
+
const text = (0, sdk_1.getLiteral)(attr.args[0].value);
|
|
644
644
|
if (text) {
|
|
645
645
|
return new prisma_builder_1.PassThroughAttribute(text);
|
|
646
646
|
}
|
|
647
647
|
else {
|
|
648
|
-
throw new
|
|
648
|
+
throw new sdk_1.PluginError(_1.name, `Invalid arguments for ${FIELD_PASSTHROUGH_ATTR} attribute`);
|
|
649
649
|
}
|
|
650
650
|
}
|
|
651
651
|
else {
|
|
@@ -668,32 +668,32 @@ class PrismaSchemaGenerator {
|
|
|
668
668
|
return new prisma_builder_1.AttributeArgValue('Array', new Array(...node.items.map((item) => this.makeAttributeArgValue(item))));
|
|
669
669
|
}
|
|
670
670
|
else if ((0, ast_1.isReferenceExpr)(node)) {
|
|
671
|
-
return new prisma_builder_1.AttributeArgValue('FieldReference', new prisma_builder_1.FieldReference((0,
|
|
671
|
+
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)))));
|
|
672
672
|
}
|
|
673
673
|
else if ((0, ast_1.isInvocationExpr)(node)) {
|
|
674
674
|
// invocation
|
|
675
675
|
return new prisma_builder_1.AttributeArgValue('FunctionCall', this.makeFunctionCall(node));
|
|
676
676
|
}
|
|
677
677
|
else {
|
|
678
|
-
throw new
|
|
678
|
+
throw new sdk_1.PluginError(_1.name, `Unsupported attribute argument expression type: ${node.$type}`);
|
|
679
679
|
}
|
|
680
680
|
}
|
|
681
681
|
makeFunctionCall(node) {
|
|
682
|
-
return new prisma_builder_1.FunctionCall((0,
|
|
682
|
+
return new prisma_builder_1.FunctionCall((0, sdk_1.resolved)(node.function).name, node.args.map((arg) => {
|
|
683
683
|
const val = (0, ts_pattern_1.match)(arg.value)
|
|
684
684
|
.when(ast_1.isStringLiteral, (v) => `"${v.value}"`)
|
|
685
685
|
.when(ast_1.isLiteralExpr, (v) => v.value.toString())
|
|
686
686
|
.when(ast_1.isNullExpr, () => 'null')
|
|
687
687
|
.otherwise(() => {
|
|
688
|
-
throw new
|
|
688
|
+
throw new sdk_1.PluginError(_1.name, 'Function call argument must be literal or null');
|
|
689
689
|
});
|
|
690
690
|
return new prisma_builder_1.FunctionCallArg(val);
|
|
691
691
|
}));
|
|
692
692
|
}
|
|
693
693
|
generateContainerAttribute(container, attr) {
|
|
694
|
-
const attrName = (0,
|
|
694
|
+
const attrName = (0, sdk_1.resolved)(attr.decl).name;
|
|
695
695
|
if (attrName === MODEL_PASSTHROUGH_ATTR) {
|
|
696
|
-
const text = (0,
|
|
696
|
+
const text = (0, sdk_1.getLiteral)(attr.args[0].value);
|
|
697
697
|
if (text) {
|
|
698
698
|
container.attributes.push(new prisma_builder_1.PassThroughAttribute(text));
|
|
699
699
|
}
|