zenstack 1.0.0-alpha.99 → 1.0.0-beta.10
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 +65 -24
- package/cli/cli-util.d.ts +4 -1
- package/cli/cli-util.js +63 -9
- package/cli/cli-util.js.map +1 -1
- package/cli/config.js +39 -13
- package/cli/config.js.map +1 -1
- package/cli/index.js +1 -6
- package/cli/index.js.map +1 -1
- package/cli/plugin-runner.d.ts +2 -1
- package/cli/plugin-runner.js +106 -48
- package/cli/plugin-runner.js.map +1 -1
- package/language-server/constants.d.ts +0 -4
- package/language-server/constants.js +1 -14
- package/language-server/constants.js.map +1 -1
- package/language-server/utils.d.ts +1 -5
- package/language-server/utils.js +3 -20
- package/language-server/utils.js.map +1 -1
- package/language-server/validator/datamodel-validator.d.ts +7 -0
- package/language-server/validator/datamodel-validator.js +71 -21
- package/language-server/validator/datamodel-validator.js.map +1 -1
- package/language-server/validator/expression-validator.js +44 -7
- package/language-server/validator/expression-validator.js.map +1 -1
- package/language-server/validator/function-decl-validator.d.ts +9 -0
- package/language-server/validator/function-decl-validator.js +15 -0
- package/language-server/validator/function-decl-validator.js.map +1 -0
- package/language-server/validator/function-invocation-validator.js +31 -5
- package/language-server/validator/function-invocation-validator.js.map +1 -1
- package/language-server/validator/schema-validator.d.ts +4 -1
- package/language-server/validator/schema-validator.js +25 -5
- package/language-server/validator/schema-validator.js.map +1 -1
- package/language-server/validator/utils.d.ts +4 -4
- package/language-server/validator/utils.js +10 -1
- package/language-server/validator/utils.js.map +1 -1
- package/language-server/validator/zmodel-validator.d.ts +4 -1
- package/language-server/validator/zmodel-validator.js +13 -4
- package/language-server/validator/zmodel-validator.js.map +1 -1
- package/language-server/zmodel-code-action.d.ts +2 -1
- package/language-server/zmodel-code-action.js +19 -10
- package/language-server/zmodel-code-action.js.map +1 -1
- package/language-server/zmodel-definition.d.ts +7 -0
- package/language-server/zmodel-definition.js +31 -0
- package/language-server/zmodel-definition.js.map +1 -0
- package/language-server/zmodel-formatter.js +2 -2
- package/language-server/zmodel-formatter.js.map +1 -1
- package/language-server/zmodel-linker.d.ts +2 -0
- package/language-server/zmodel-linker.js +71 -7
- package/language-server/zmodel-linker.js.map +1 -1
- package/language-server/zmodel-module.js +4 -1
- package/language-server/zmodel-module.js.map +1 -1
- package/language-server/zmodel-scope.d.ts +7 -1
- package/language-server/zmodel-scope.js +57 -1
- package/language-server/zmodel-scope.js.map +1 -1
- package/package.json +19 -21
- package/plugins/access-policy/expression-writer.js +71 -25
- package/plugins/access-policy/expression-writer.js.map +1 -1
- package/plugins/access-policy/policy-guard-generator.js +107 -73
- package/plugins/access-policy/policy-guard-generator.js.map +1 -1
- package/plugins/access-policy/utils.d.ts +2 -2
- package/plugins/access-policy/utils.js +2 -2
- package/plugins/access-policy/utils.js.map +1 -1
- package/plugins/model-meta/index.js +35 -31
- package/plugins/model-meta/index.js.map +1 -1
- package/plugins/plugin-utils.d.ts +4 -4
- package/plugins/plugin-utils.js +28 -18
- package/plugins/plugin-utils.js.map +1 -1
- package/plugins/prisma/index.d.ts +1 -1
- package/plugins/prisma/prisma-builder.d.ts +6 -3
- package/plugins/prisma/prisma-builder.js +29 -8
- package/plugins/prisma/prisma-builder.js.map +1 -1
- package/plugins/prisma/schema-generator.d.ts +4 -1
- package/plugins/prisma/schema-generator.js +149 -32
- package/plugins/prisma/schema-generator.js.map +1 -1
- package/plugins/zod/generator.js +171 -22
- package/plugins/zod/generator.js.map +1 -1
- package/plugins/zod/index.d.ts +1 -1
- package/plugins/zod/transformer.d.ts +6 -6
- package/plugins/zod/transformer.js +168 -108
- package/plugins/zod/transformer.js.map +1 -1
- package/plugins/zod/types.d.ts +2 -0
- package/plugins/zod/utils/schema-gen.d.ts +3 -0
- package/plugins/zod/utils/schema-gen.js +178 -0
- package/plugins/zod/utils/schema-gen.js.map +1 -0
- package/res/starter.zmodel +4 -4
- package/res/stdlib.zmodel +176 -90
- package/telemetry.d.ts +2 -1
- package/telemetry.js +5 -3
- package/telemetry.js.map +1 -1
- package/utils/ast-utils.d.ts +10 -3
- package/utils/ast-utils.js +91 -8
- package/utils/ast-utils.js.map +1 -1
- package/utils/pkg-utils.js +1 -1
- package/utils/pkg-utils.js.map +1 -1
- package/utils/typescript-expression-transformer.d.ts +53 -0
- package/utils/typescript-expression-transformer.js +295 -0
- package/utils/typescript-expression-transformer.js.map +1 -0
- package/utils/version-utils.js +1 -0
- package/utils/version-utils.js.map +1 -1
- package/plugins/access-policy/typescript-expression-transformer.d.ts +0 -28
- package/plugins/access-policy/typescript-expression-transformer.js +0 -121
- package/plugins/access-policy/typescript-expression-transformer.js.map +0 -1
- package/plugins/access-policy/zod-schema-generator.d.ts +0 -12
- package/plugins/access-policy/zod-schema-generator.js +0 -157
- package/plugins/access-policy/zod-schema-generator.js.map +0 -1
|
@@ -15,33 +15,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.name = void 0;
|
|
16
16
|
const ast_1 = require("@zenstackhq/language/ast");
|
|
17
17
|
const sdk_1 = require("@zenstackhq/sdk");
|
|
18
|
-
const
|
|
18
|
+
const lower_case_first_1 = require("lower-case-first");
|
|
19
19
|
const path_1 = __importDefault(require("path"));
|
|
20
20
|
const ts_morph_1 = require("ts-morph");
|
|
21
|
-
const utils_1 = require("../../language-server/utils");
|
|
22
21
|
const plugin_utils_1 = require("../plugin-utils");
|
|
23
22
|
exports.name = 'Model Metadata';
|
|
24
23
|
function run(model, options) {
|
|
25
24
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
|
|
25
|
+
let output = options.output ? options.output : (0, plugin_utils_1.getDefaultOutputFolder)();
|
|
27
26
|
if (!output) {
|
|
28
|
-
|
|
29
|
-
return;
|
|
27
|
+
throw new sdk_1.PluginError(options.name, `Unable to determine output path, not running plugin`);
|
|
30
28
|
}
|
|
29
|
+
output = (0, sdk_1.resolvePath)(output, options);
|
|
31
30
|
const dataModels = (0, sdk_1.getDataModels)(model);
|
|
32
|
-
const project =
|
|
33
|
-
if (!options.output) {
|
|
34
|
-
(0, plugin_utils_1.ensureNodeModuleFolder)(output);
|
|
35
|
-
}
|
|
31
|
+
const project = (0, sdk_1.createProject)();
|
|
36
32
|
const sf = project.createSourceFile(path_1.default.join(output, 'model-meta.ts'), undefined, { overwrite: true });
|
|
33
|
+
sf.addStatements('/* eslint-disable */');
|
|
37
34
|
sf.addVariableStatement({
|
|
38
35
|
declarationKind: ts_morph_1.VariableDeclarationKind.Const,
|
|
39
36
|
declarations: [{ name: 'metadata', initializer: (writer) => generateModelMetadata(dataModels, writer) }],
|
|
40
37
|
});
|
|
41
38
|
sf.addStatements('export default metadata;');
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
const shouldCompile = options.compile !== false;
|
|
40
|
+
if (!shouldCompile || options.preserveTsFiles === true) {
|
|
41
|
+
// save ts files
|
|
42
|
+
yield (0, sdk_1.saveProject)(project);
|
|
43
|
+
}
|
|
44
|
+
if (shouldCompile) {
|
|
45
|
+
yield (0, sdk_1.emitProject)(project);
|
|
46
|
+
}
|
|
45
47
|
});
|
|
46
48
|
}
|
|
47
49
|
exports.default = run;
|
|
@@ -50,7 +52,7 @@ function generateModelMetadata(dataModels, writer) {
|
|
|
50
52
|
writer.write('fields:');
|
|
51
53
|
writer.block(() => {
|
|
52
54
|
for (const model of dataModels) {
|
|
53
|
-
writer.write(`${(0,
|
|
55
|
+
writer.write(`${(0, lower_case_first_1.lowerCaseFirst)(model.name)}:`);
|
|
54
56
|
writer.block(() => {
|
|
55
57
|
var _a;
|
|
56
58
|
for (const f of model.fields) {
|
|
@@ -61,13 +63,13 @@ function generateModelMetadata(dataModels, writer) {
|
|
|
61
63
|
? f.type.reference.$refText
|
|
62
64
|
: // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
63
65
|
f.type.type}",
|
|
64
|
-
isId: ${isIdField(f)},
|
|
66
|
+
isId: ${(0, sdk_1.isIdField)(f)},
|
|
65
67
|
isDataModel: ${(0, ast_1.isDataModel)((_a = f.type.reference) === null || _a === void 0 ? void 0 : _a.ref)},
|
|
66
68
|
isArray: ${f.type.array},
|
|
67
69
|
isOptional: ${f.type.optional},
|
|
68
70
|
attributes: ${JSON.stringify(getFieldAttributes(f))},
|
|
69
71
|
backLink: ${backlink ? "'" + backlink.name + "'" : 'undefined'},
|
|
70
|
-
isRelationOwner: ${isRelationOwner(f)},
|
|
72
|
+
isRelationOwner: ${isRelationOwner(f, backlink)},
|
|
71
73
|
},`);
|
|
72
74
|
}
|
|
73
75
|
});
|
|
@@ -78,7 +80,7 @@ function generateModelMetadata(dataModels, writer) {
|
|
|
78
80
|
writer.write('uniqueConstraints:');
|
|
79
81
|
writer.block(() => {
|
|
80
82
|
for (const model of dataModels) {
|
|
81
|
-
writer.write(`${(0,
|
|
83
|
+
writer.write(`${(0, lower_case_first_1.lowerCaseFirst)(model.name)}:`);
|
|
82
84
|
writer.block(() => {
|
|
83
85
|
for (const constraint of getUniqueConstraints(model)) {
|
|
84
86
|
writer.write(`${constraint.name}: {
|
|
@@ -137,19 +139,6 @@ function getFieldAttributes(field) {
|
|
|
137
139
|
})
|
|
138
140
|
.filter((d) => !!d);
|
|
139
141
|
}
|
|
140
|
-
function isIdField(field) {
|
|
141
|
-
// field-level @id attribute
|
|
142
|
-
if (field.attributes.some((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@id'; })) {
|
|
143
|
-
return true;
|
|
144
|
-
}
|
|
145
|
-
// model-level @@id attribute with a list of fields
|
|
146
|
-
const model = field.$container;
|
|
147
|
-
const modelLevelIds = (0, utils_1.getIdFields)(model);
|
|
148
|
-
if (modelLevelIds.includes(field)) {
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
153
142
|
function getUniqueConstraints(model) {
|
|
154
143
|
const constraints = [];
|
|
155
144
|
for (const attr of model.attributes.filter((attr) => { var _a, _b; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@unique' || ((_b = attr.decl.ref) === null || _b === void 0 ? void 0 : _b.name) === '@@id'; })) {
|
|
@@ -166,7 +155,22 @@ function getUniqueConstraints(model) {
|
|
|
166
155
|
}
|
|
167
156
|
return constraints;
|
|
168
157
|
}
|
|
169
|
-
function isRelationOwner(field) {
|
|
170
|
-
|
|
158
|
+
function isRelationOwner(field, backLink) {
|
|
159
|
+
var _a;
|
|
160
|
+
if (!(0, ast_1.isDataModel)((_a = field.type.reference) === null || _a === void 0 ? void 0 : _a.ref)) {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
if ((0, sdk_1.hasAttribute)(field, '@relation')) {
|
|
164
|
+
// this field has `@relation` attribute
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
else if (!backLink || !(0, sdk_1.hasAttribute)(backLink, '@relation')) {
|
|
168
|
+
// if the opposite side field doesn't have `@relation` attribute either,
|
|
169
|
+
// it's an implicit many-to-many relation, both sides are owners
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
171
175
|
}
|
|
172
176
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/model-meta/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAQkC;AAElC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/model-meta/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAQkC;AAElC,yCAayB;AACzB,uDAAkD;AAClD,gDAAwB;AACxB,uCAAoE;AACpE,kDAAyD;AAE5C,QAAA,IAAI,GAAG,gBAAgB,CAAC;AAErC,SAA8B,GAAG,CAAC,KAAY,EAAE,OAAsB;;QAClE,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAE,OAAO,CAAC,MAAiB,CAAC,CAAC,CAAC,IAAA,qCAAsB,GAAE,CAAC;QACpF,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,iBAAW,CAAC,OAAO,CAAC,IAAI,EAAE,qDAAqD,CAAC,CAAC;SAC9F;QACD,MAAM,GAAG,IAAA,iBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEtC,MAAM,UAAU,GAAG,IAAA,mBAAa,EAAC,KAAK,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,IAAA,mBAAa,GAAE,CAAC;QAEhC,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxG,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QACzC,EAAE,CAAC,oBAAoB,CAAC;YACpB,eAAe,EAAE,kCAAuB,CAAC,KAAK;YAC9C,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;SAC3G,CAAC,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;QAE7C,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;QAChD,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE;YACpD,gBAAgB;YAChB,MAAM,IAAA,iBAAW,EAAC,OAAO,CAAC,CAAC;SAC9B;QACD,IAAI,aAAa,EAAE;YACf,MAAM,IAAA,iBAAW,EAAC,OAAO,CAAC,CAAC;SAC9B;IACL,CAAC;CAAA;AA3BD,sBA2BC;AAED,SAAS,qBAAqB,CAAC,UAAuB,EAAE,MAAuB;IAC3E,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;YACd,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;gBAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;;oBACd,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE;wBAC1B,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;wBAChC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;6BACjB,CAAC,CAAC,IAAI;6BAEX,CAAC,CAAC,IAAI,CAAC,SAAS;4BACZ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ;4BAC3B,CAAC,CAAC,oEAAoE;gCACpE,CAAC,CAAC,IAAI,CAAC,IACjB;4BACQ,IAAA,eAAS,EAAC,CAAC,CAAC;mCACL,IAAA,iBAAW,EAAC,MAAA,CAAC,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC;+BACtC,CAAC,CAAC,IAAI,CAAC,KAAK;kCACT,CAAC,CAAC,IAAI,CAAC,QAAQ;kCACf,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gCACvC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW;uCAC3C,eAAe,CAAC,CAAC,EAAE,QAAQ,CAAC;mBAChD,CAAC,CAAC;qBACA;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACrB;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElB,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;YACd,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE;gBAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;oBACd,KAAK,MAAM,UAAU,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;wBAClD,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI;6BAC1B,UAAU,CAAC,IAAI;8BACd,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;mBAC5C,CAAC,CAAC;qBACA;gBACL,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACrB;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,WAAW,CAAC,KAAqB;;IACtC,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAA,IAAI,CAAC,IAAA,iBAAW,EAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,EAAE;QACvE,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAuB,CAAC;IAClD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAgB,CAAC;IAE1D,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,MAAM,EAAE;QACzC,IAAI,CAAA,MAAA,UAAU,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,MAAK,WAAW,EAAE;YAChD,IAAI,OAAO,EAAE;gBACT,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;gBACjD,IAAI,OAAO,KAAK,YAAY,EAAE;oBAC1B,OAAO,UAAU,CAAC;iBACrB;aACJ;iBAAM;gBACH,OAAO,UAAU,CAAC;aACrB;SACJ;KACJ;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,eAAe,CAAC,KAAqB;;IAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,UAAU,CAAA,EAAA,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,OAAO,KAAI,MAAA,OAAO,CAAC,IAAI,0CAAG,CAAC,CAAC,CAAA,IAAI,IAAA,gBAAU,EAAS,MAAA,OAAO,CAAC,IAAI,0CAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5F,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAqB;IAC7C,OAAO,KAAK,CAAC,UAAU;SAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACV,MAAM,IAAI,GAA6C,EAAE,CAAC;QAC1D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YACzB,IAAI,CAAC,IAAA,mBAAa,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBAC3B,+CAA+C;gBAC/C,OAAO,SAAS,CAAC;aACpB;YACD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;SACzD;QACD,OAAO,EAAE,IAAI,EAAE,IAAA,cAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACpD,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAgB;IAC1C,MAAM,WAAW,GAA8C,EAAE,CAAC;IAClE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CACtC,CAAC,IAAI,EAAE,EAAE,eAAC,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,UAAU,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,MAAM,CAAA,EAAA,CACjF,EAAE;QACC,MAAM,OAAO,GAAG,IAAA,sBAAgB,EAAC,IAAI,CAAC,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM,EAAE;YAChB,MAAM,UAAU,GAAI,OAAO,CAAC,MAAoB,CAAC,KAAK,CAAC,GAAG,CACtD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,cAAQ,EAAE,IAAsB,CAAC,MAAM,CAAC,CAAC,IAAI,CAC1D,CAAC;YACF,IAAI,cAAc,GAAG,OAAO,CAAC,IAAI,IAAI,IAAA,gBAAU,EAAS,OAAO,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,cAAc,EAAE;gBACjB,kEAAkE;gBAClE,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACzC;YACD,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;SAClE;KACJ;IACD,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,SAAS,eAAe,CAAC,KAAqB,EAAE,QAAoC;;IAChF,IAAI,CAAC,IAAA,iBAAW,EAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,EAAE;QACzC,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,IAAA,kBAAY,EAAC,KAAK,EAAE,WAAW,CAAC,EAAE;QAClC,uCAAuC;QACvC,OAAO,IAAI,CAAC;KACf;SAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAA,kBAAY,EAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;QAC1D,wEAAwE;QACxE,gEAAgE;QAChE,OAAO,IAAI,CAAC;KACf;SAAM;QACH,OAAO,KAAK,CAAC;KAChB;AACL,CAAC"}
|
|
@@ -4,12 +4,12 @@ export declare const ALL_OPERATION_KINDS: PolicyOperationKind[];
|
|
|
4
4
|
* Gets the nearest "node_modules" folder by walking up from start path.
|
|
5
5
|
*/
|
|
6
6
|
export declare function getNodeModulesFolder(startPath?: string): string | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Ensure the default output folder is initialized.
|
|
9
|
+
*/
|
|
10
|
+
export declare function ensureDefaultOutputFolder(): void;
|
|
7
11
|
/**
|
|
8
12
|
* Gets the default node_modules/.zenstack output folder for plugins.
|
|
9
13
|
* @returns
|
|
10
14
|
*/
|
|
11
15
|
export declare function getDefaultOutputFolder(): string | undefined;
|
|
12
|
-
/**
|
|
13
|
-
* Ensure a folder exists and has a package.json in it.
|
|
14
|
-
*/
|
|
15
|
-
export declare function ensureNodeModuleFolder(folder: string): void;
|
package/plugins/plugin-utils.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.getDefaultOutputFolder = exports.ensureDefaultOutputFolder = exports.getNodeModulesFolder = exports.ALL_OPERATION_KINDS = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
exports.ALL_OPERATION_KINDS = ['create', 'update', 'postUpdate', 'read', 'delete'];
|
|
@@ -12,7 +12,10 @@ exports.ALL_OPERATION_KINDS = ['create', 'update', 'postUpdate', 'read', 'delete
|
|
|
12
12
|
*/
|
|
13
13
|
function getNodeModulesFolder(startPath) {
|
|
14
14
|
startPath = startPath !== null && startPath !== void 0 ? startPath : process.cwd();
|
|
15
|
-
if (
|
|
15
|
+
if (startPath.endsWith('node_modules')) {
|
|
16
|
+
return startPath;
|
|
17
|
+
}
|
|
18
|
+
else if (fs_1.default.existsSync(path_1.default.join(startPath, 'node_modules'))) {
|
|
16
19
|
return path_1.default.join(startPath, 'node_modules');
|
|
17
20
|
}
|
|
18
21
|
else if (startPath !== '/') {
|
|
@@ -24,30 +27,37 @@ function getNodeModulesFolder(startPath) {
|
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
29
|
exports.getNodeModulesFolder = getNodeModulesFolder;
|
|
30
|
+
/**
|
|
31
|
+
* Ensure the default output folder is initialized.
|
|
32
|
+
*/
|
|
33
|
+
function ensureDefaultOutputFolder() {
|
|
34
|
+
const output = getDefaultOutputFolder();
|
|
35
|
+
if (output && !fs_1.default.existsSync(output)) {
|
|
36
|
+
fs_1.default.mkdirSync(output, { recursive: true });
|
|
37
|
+
fs_1.default.writeFileSync(path_1.default.join(output, 'package.json'), JSON.stringify({ name: '.zenstack', version: '1.0.0' }));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.ensureDefaultOutputFolder = ensureDefaultOutputFolder;
|
|
27
41
|
/**
|
|
28
42
|
* Gets the default node_modules/.zenstack output folder for plugins.
|
|
29
43
|
* @returns
|
|
30
44
|
*/
|
|
31
45
|
function getDefaultOutputFolder() {
|
|
32
46
|
// Find the real runtime module path, it might be a symlink in pnpm
|
|
33
|
-
|
|
47
|
+
let runtimeModulePath = require.resolve('@zenstackhq/runtime');
|
|
48
|
+
if (process.env.ZENSTACK_TEST === '1') {
|
|
49
|
+
// handling the case when running as tests, resolve relative to CWD
|
|
50
|
+
runtimeModulePath = path_1.default.resolve(path_1.default.join(process.cwd(), 'node_modules', '@zenstackhq', 'runtime'));
|
|
51
|
+
}
|
|
52
|
+
if (runtimeModulePath) {
|
|
53
|
+
// start with the parent folder of @zenstackhq, supposed to be a node_modules folder
|
|
54
|
+
while (!runtimeModulePath.endsWith('@zenstackhq') && runtimeModulePath !== '/') {
|
|
55
|
+
runtimeModulePath = path_1.default.join(runtimeModulePath, '..');
|
|
56
|
+
}
|
|
57
|
+
runtimeModulePath = path_1.default.join(runtimeModulePath, '..');
|
|
58
|
+
}
|
|
34
59
|
const modulesFolder = getNodeModulesFolder(runtimeModulePath);
|
|
35
60
|
return modulesFolder ? path_1.default.join(modulesFolder, '.zenstack') : undefined;
|
|
36
61
|
}
|
|
37
62
|
exports.getDefaultOutputFolder = getDefaultOutputFolder;
|
|
38
|
-
/**
|
|
39
|
-
* Ensure a folder exists and has a package.json in it.
|
|
40
|
-
*/
|
|
41
|
-
function ensureNodeModuleFolder(folder) {
|
|
42
|
-
if (!fs_1.default.existsSync(folder)) {
|
|
43
|
-
fs_1.default.mkdirSync(folder, { recursive: true });
|
|
44
|
-
}
|
|
45
|
-
if (!fs_1.default.existsSync(path_1.default.join(folder, 'package.json'))) {
|
|
46
|
-
fs_1.default.writeFileSync(path_1.default.join(folder, 'package.json'), JSON.stringify({
|
|
47
|
-
name: '.zenstack',
|
|
48
|
-
version: '1.0.0',
|
|
49
|
-
}));
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
exports.ensureNodeModuleFolder = ensureNodeModuleFolder;
|
|
53
63
|
//# sourceMappingURL=plugin-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-utils.js","sourceRoot":"","sources":["../../src/plugins/plugin-utils.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AACpB,gDAAwB;AAEX,QAAA,mBAAmB,GAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE/G;;GAEG;AACH,SAAgB,oBAAoB,CAAC,SAAkB;IACnD,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,IAAI,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"plugin-utils.js","sourceRoot":"","sources":["../../src/plugins/plugin-utils.ts"],"names":[],"mappings":";;;;;;AACA,4CAAoB;AACpB,gDAAwB;AAEX,QAAA,mBAAmB,GAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE/G;;GAEG;AACH,SAAgB,oBAAoB,CAAC,SAAkB;IACnD,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;QACpC,OAAO,SAAS,CAAC;KACpB;SAAM,IAAI,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE;QAC5D,OAAO,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;KAC/C;SAAM,IAAI,SAAS,KAAK,GAAG,EAAE;QAC1B,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;KACvC;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAZD,oDAYC;AAED;;GAEG;AACH,SAAgB,yBAAyB;IACrC,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;IACxC,IAAI,MAAM,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAClC,YAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,YAAE,CAAC,aAAa,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;KAChH;AACL,CAAC;AAND,8DAMC;AAED;;;GAGG;AACH,SAAgB,sBAAsB;IAClC,mEAAmE;IACnE,IAAI,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE/D,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,EAAE;QACnC,mEAAmE;QACnE,iBAAiB,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;KACxG;IAED,IAAI,iBAAiB,EAAE;QACnB,oFAAoF;QACpF,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,iBAAiB,KAAK,GAAG,EAAE;YAC5E,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;SAC1D;QACD,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;KAC1D;IACD,MAAM,aAAa,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC9D,OAAO,aAAa,CAAC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAlBD,wDAkBC"}
|
|
@@ -2,4 +2,4 @@ import type { DMMF } from '@prisma/generator-helper';
|
|
|
2
2
|
import { Model } from '@zenstackhq/language/ast';
|
|
3
3
|
import { PluginOptions } from '@zenstackhq/sdk';
|
|
4
4
|
export declare const name = "Prisma";
|
|
5
|
-
export default function run(model: Model, options: PluginOptions, _dmmf?: DMMF.Document, config?: Record<string, string>): Promise<
|
|
5
|
+
export default function run(model: Model, options: PluginOptions, _dmmf?: DMMF.Document, config?: Record<string, string>): Promise<string[]>;
|
|
@@ -13,9 +13,10 @@ export declare class PrismaModel {
|
|
|
13
13
|
private generators;
|
|
14
14
|
private models;
|
|
15
15
|
private enums;
|
|
16
|
-
addDataSource(name: string, provider: string, url: DataSourceUrl, shadowDatabaseUrl?: DataSourceUrl, restFields?: SimpleField[]): DataSource;
|
|
16
|
+
addDataSource(name: string, provider: string, url: DataSourceUrl, directUrl?: DataSourceUrl, shadowDatabaseUrl?: DataSourceUrl, restFields?: SimpleField[]): DataSource;
|
|
17
17
|
addGenerator(name: string, fields: SimpleField[]): Generator;
|
|
18
18
|
addModel(name: string): Model;
|
|
19
|
+
addView(name: string): Model;
|
|
19
20
|
addEnum(name: string): Enum;
|
|
20
21
|
toString(): string;
|
|
21
22
|
}
|
|
@@ -23,9 +24,10 @@ export declare class DataSource {
|
|
|
23
24
|
name: string;
|
|
24
25
|
provider: string;
|
|
25
26
|
url: DataSourceUrl;
|
|
27
|
+
directUrl?: DataSourceUrl | undefined;
|
|
26
28
|
shadowDatabaseUrl?: DataSourceUrl | undefined;
|
|
27
29
|
restFields: SimpleField[];
|
|
28
|
-
constructor(name: string, provider: string, url: DataSourceUrl, shadowDatabaseUrl?: DataSourceUrl | undefined, restFields?: SimpleField[]);
|
|
30
|
+
constructor(name: string, provider: string, url: DataSourceUrl, directUrl?: DataSourceUrl | undefined, shadowDatabaseUrl?: DataSourceUrl | undefined, restFields?: SimpleField[]);
|
|
29
31
|
toString(): string;
|
|
30
32
|
}
|
|
31
33
|
export declare class DataSourceUrl {
|
|
@@ -56,8 +58,9 @@ export declare class FieldDeclaration extends DeclarationBase {
|
|
|
56
58
|
}
|
|
57
59
|
export declare class Model extends ContainerDeclaration {
|
|
58
60
|
name: string;
|
|
61
|
+
isView: boolean;
|
|
59
62
|
fields: ModelField[];
|
|
60
|
-
constructor(name: string, documentations?: string[]);
|
|
63
|
+
constructor(name: string, isView: boolean, documentations?: string[]);
|
|
61
64
|
addField(name: string, type: ModelFieldType | string, attributes?: (FieldAttribute | PassThroughAttribute)[], documentations?: string[]): ModelField;
|
|
62
65
|
addAttribute(name: string, args?: AttributeArg[]): ContainerAttribute;
|
|
63
66
|
toString(): string;
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.EnumField = exports.Enum = exports.FunctionCallArg = exports.FunctionCall = exports.FieldReferenceArg = exports.FieldReference = exports.AttributeArgValue = exports.AttributeArg = exports.PassThroughAttribute = exports.ContainerAttribute = exports.FieldAttribute = exports.ModelField = exports.ModelFieldType = exports.Model = exports.FieldDeclaration = exports.ContainerDeclaration = exports.DeclarationBase = exports.Generator = exports.DataSourceUrl = exports.DataSource = exports.PrismaModel = void 0;
|
|
7
|
+
const sdk_1 = require("@zenstackhq/sdk");
|
|
7
8
|
const indent_string_1 = __importDefault(require("./indent-string"));
|
|
8
9
|
/**
|
|
9
10
|
* Prisma schema builder
|
|
@@ -15,8 +16,8 @@ class PrismaModel {
|
|
|
15
16
|
this.models = [];
|
|
16
17
|
this.enums = [];
|
|
17
18
|
}
|
|
18
|
-
addDataSource(name, provider, url, shadowDatabaseUrl, restFields = []) {
|
|
19
|
-
const ds = new DataSource(name, provider, url, shadowDatabaseUrl, restFields);
|
|
19
|
+
addDataSource(name, provider, url, directUrl, shadowDatabaseUrl, restFields = []) {
|
|
20
|
+
const ds = new DataSource(name, provider, url, directUrl, shadowDatabaseUrl, restFields);
|
|
20
21
|
this.datasources.push(ds);
|
|
21
22
|
return ds;
|
|
22
23
|
}
|
|
@@ -26,7 +27,12 @@ class PrismaModel {
|
|
|
26
27
|
return generator;
|
|
27
28
|
}
|
|
28
29
|
addModel(name) {
|
|
29
|
-
const model = new Model(name);
|
|
30
|
+
const model = new Model(name, false);
|
|
31
|
+
this.models.push(model);
|
|
32
|
+
return model;
|
|
33
|
+
}
|
|
34
|
+
addView(name) {
|
|
35
|
+
const model = new Model(name, true);
|
|
30
36
|
this.models.push(model);
|
|
31
37
|
return model;
|
|
32
38
|
}
|
|
@@ -43,10 +49,11 @@ class PrismaModel {
|
|
|
43
49
|
}
|
|
44
50
|
exports.PrismaModel = PrismaModel;
|
|
45
51
|
class DataSource {
|
|
46
|
-
constructor(name, provider, url, shadowDatabaseUrl, restFields = []) {
|
|
52
|
+
constructor(name, provider, url, directUrl, shadowDatabaseUrl, restFields = []) {
|
|
47
53
|
this.name = name;
|
|
48
54
|
this.provider = provider;
|
|
49
55
|
this.url = url;
|
|
56
|
+
this.directUrl = directUrl;
|
|
50
57
|
this.shadowDatabaseUrl = shadowDatabaseUrl;
|
|
51
58
|
this.restFields = restFields;
|
|
52
59
|
}
|
|
@@ -57,7 +64,8 @@ class DataSource {
|
|
|
57
64
|
return (`datasource ${this.name} {\n` +
|
|
58
65
|
(0, indent_string_1.default)(`provider="${this.provider}"\n`) +
|
|
59
66
|
(0, indent_string_1.default)(`url=${this.url}\n`) +
|
|
60
|
-
(this.
|
|
67
|
+
(this.directUrl ? (0, indent_string_1.default)(`directUrl=${this.directUrl}\n`) : '') +
|
|
68
|
+
(this.shadowDatabaseUrl ? (0, indent_string_1.default)(`shadowDatabaseUrl=${this.shadowDatabaseUrl}\n`) : '') +
|
|
61
69
|
(restFields ? restFields + '\n' : '') +
|
|
62
70
|
`}`);
|
|
63
71
|
}
|
|
@@ -113,9 +121,10 @@ class FieldDeclaration extends DeclarationBase {
|
|
|
113
121
|
}
|
|
114
122
|
exports.FieldDeclaration = FieldDeclaration;
|
|
115
123
|
class Model extends ContainerDeclaration {
|
|
116
|
-
constructor(name, documentations = []) {
|
|
124
|
+
constructor(name, isView, documentations = []) {
|
|
117
125
|
super(documentations);
|
|
118
126
|
this.name = name;
|
|
127
|
+
this.isView = isView;
|
|
119
128
|
this.fields = [];
|
|
120
129
|
}
|
|
121
130
|
addField(name, type, attributes = [], documentations = []) {
|
|
@@ -129,9 +138,21 @@ class Model extends ContainerDeclaration {
|
|
|
129
138
|
return attr;
|
|
130
139
|
}
|
|
131
140
|
toString() {
|
|
141
|
+
const auxiliaryFields = this.fields.filter((f) => sdk_1.AUXILIARY_FIELDS.includes(f.name));
|
|
142
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
143
|
+
const result = this.fields.filter((f) => !sdk_1.AUXILIARY_FIELDS.includes(f.name));
|
|
144
|
+
if (auxiliaryFields.length > 0) {
|
|
145
|
+
// Add a blank line before the auxiliary fields
|
|
146
|
+
result.push('', ...auxiliaryFields);
|
|
147
|
+
if (this.attributes.length > 0) {
|
|
148
|
+
// Add a blank line before the attributes
|
|
149
|
+
result.push('');
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
result.push(...this.attributes);
|
|
132
153
|
return (super.toString() +
|
|
133
|
-
|
|
134
|
-
(0, indent_string_1.default)(
|
|
154
|
+
`${this.isView ? 'view' : 'model'} ${this.name} {\n` +
|
|
155
|
+
(0, indent_string_1.default)(result.map((d) => d.toString()).join('\n')) +
|
|
135
156
|
`\n}`);
|
|
136
157
|
}
|
|
137
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prisma-builder.js","sourceRoot":"","sources":["../../../src/plugins/prisma/prisma-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prisma-builder.js","sourceRoot":"","sources":["../../../src/plugins/prisma/prisma-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,15 @@ import { FunctionCall as PrismaFunctionCall } from './prisma-builder';
|
|
|
7
7
|
export default class PrismaSchemaGenerator {
|
|
8
8
|
private zModelGenerator;
|
|
9
9
|
private readonly PRELUDE;
|
|
10
|
-
generate(model: Model, options: PluginOptions, config?: Record<string, string>): Promise<
|
|
10
|
+
generate(model: Model, options: PluginOptions, config?: Record<string, string>): Promise<string[]>;
|
|
11
|
+
private trackPrismaSchemaError;
|
|
11
12
|
private generateDataSource;
|
|
12
13
|
private extractDataSourceUrl;
|
|
13
14
|
private generateGenerator;
|
|
14
15
|
private generateModel;
|
|
16
|
+
private shouldGenerateAuxFields;
|
|
15
17
|
private isPrismaAttribute;
|
|
18
|
+
private getUnsupportedFieldType;
|
|
16
19
|
private generateModelField;
|
|
17
20
|
private makeFieldAttribute;
|
|
18
21
|
private makeAttributeArg;
|