zenstack 0.6.0-pre.10 → 0.6.0-pre.12
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-error.d.ts +5 -0
- package/cli/cli-error.js +12 -0
- package/cli/cli-error.js.map +1 -0
- package/cli/cli-util.d.ts +18 -0
- package/cli/cli-util.js +168 -0
- package/cli/cli-util.js.map +1 -0
- package/cli/index.d.ts +10 -0
- package/cli/index.js +78 -6531
- package/cli/index.js.map +1 -0
- package/cli/plugin-runner.d.ts +14 -0
- package/cli/plugin-runner.js +133 -0
- package/cli/plugin-runner.js.map +1 -0
- package/global.d.js +1 -0
- package/global.d.js.map +1 -0
- package/language-server/constants.d.ts +12 -0
- package/language-server/constants.js +24 -0
- package/language-server/constants.js.map +1 -0
- package/language-server/main.d.ts +1 -0
- package/language-server/main.js +20 -6436
- package/language-server/main.js.map +1 -0
- package/language-server/types.d.ts +10 -0
- package/language-server/types.js +1 -0
- package/language-server/types.js.map +1 -0
- package/language-server/utils.d.ts +10 -0
- package/language-server/utils.js +28 -0
- package/language-server/utils.js.map +1 -0
- package/language-server/validator/attribute-validator.d.ts +9 -0
- package/language-server/validator/attribute-validator.js +15 -0
- package/language-server/validator/attribute-validator.js.map +1 -0
- package/language-server/validator/datamodel-validator.d.ts +16 -0
- package/language-server/validator/datamodel-validator.js +365 -0
- package/language-server/validator/datamodel-validator.js.map +1 -0
- package/language-server/validator/datasource-validator.d.ts +13 -0
- package/language-server/validator/datasource-validator.js +85 -0
- package/language-server/validator/datasource-validator.js.map +1 -0
- package/language-server/validator/enum-validator.d.ts +9 -0
- package/language-server/validator/enum-validator.js +18 -0
- package/language-server/validator/enum-validator.js.map +1 -0
- package/language-server/validator/expression-validator.d.ts +11 -0
- package/language-server/validator/expression-validator.js +40 -0
- package/language-server/validator/expression-validator.js.map +1 -0
- package/language-server/validator/schema-validator.d.ts +10 -0
- package/language-server/validator/schema-validator.js +35 -0
- package/language-server/validator/schema-validator.js.map +1 -0
- package/language-server/validator/utils.d.ts +24 -0
- package/language-server/validator/utils.js +116 -0
- package/language-server/validator/utils.js.map +1 -0
- package/language-server/validator/zmodel-validator.d.ts +21 -0
- package/language-server/validator/zmodel-validator.js +72 -0
- package/language-server/validator/zmodel-validator.js.map +1 -0
- package/language-server/zmodel-linker.d.ts +29 -0
- package/language-server/zmodel-linker.js +364 -0
- package/language-server/zmodel-linker.js.map +1 -0
- package/language-server/zmodel-module.d.ts +41 -0
- package/language-server/zmodel-module.js +84 -0
- package/language-server/zmodel-module.js.map +1 -0
- package/language-server/zmodel-scope.d.ts +10 -0
- package/language-server/zmodel-scope.js +34 -0
- package/language-server/zmodel-scope.js.map +1 -0
- package/language-server/zmodel-workspace-manager.d.ts +8 -0
- package/language-server/zmodel-workspace-manager.js +25 -0
- package/language-server/zmodel-workspace-manager.js.map +1 -0
- package/package.json +20 -15
- package/plugins/access-policy/expression-writer.d.ts +38 -0
- package/plugins/access-policy/expression-writer.js +323 -0
- package/plugins/access-policy/expression-writer.js.map +1 -0
- package/plugins/access-policy/index.d.ts +4 -0
- package/plugins/access-policy/index.js +15 -4289
- package/plugins/access-policy/index.js.map +1 -0
- package/plugins/access-policy/policy-guard-generator.d.ts +15 -0
- package/plugins/access-policy/policy-guard-generator.js +345 -0
- package/plugins/access-policy/policy-guard-generator.js.map +1 -0
- package/plugins/access-policy/typescript-expression-transformer.d.ts +26 -0
- package/plugins/access-policy/typescript-expression-transformer.js +110 -0
- package/plugins/access-policy/typescript-expression-transformer.js.map +1 -0
- package/plugins/access-policy/utils.d.ts +5 -0
- package/plugins/access-policy/utils.js +16 -0
- package/plugins/access-policy/utils.js.map +1 -0
- package/plugins/access-policy/zod-schema-generator.d.ts +12 -0
- package/plugins/access-policy/zod-schema-generator.js +174 -0
- package/plugins/access-policy/zod-schema-generator.js.map +1 -0
- package/plugins/model-meta/index.d.ts +4 -0
- package/plugins/model-meta/index.js +130 -0
- package/plugins/model-meta/index.js.map +1 -0
- package/plugins/plugin-utils.d.ts +16 -0
- package/plugins/plugin-utils.js +58 -0
- package/plugins/plugin-utils.js.map +1 -0
- package/plugins/prisma/indent-string.d.ts +4 -0
- package/plugins/prisma/indent-string.js +16 -0
- package/plugins/prisma/indent-string.js.map +1 -0
- package/plugins/prisma/index.d.ts +4 -0
- package/plugins/prisma/index.js +15 -3740
- package/plugins/prisma/index.js.map +1 -0
- package/plugins/prisma/prisma-builder.d.ts +123 -0
- package/plugins/prisma/prisma-builder.js +256 -0
- package/plugins/prisma/prisma-builder.js.map +1 -0
- package/plugins/prisma/schema-generator.d.ts +22 -0
- package/plugins/prisma/schema-generator.js +201 -0
- package/plugins/prisma/schema-generator.js.map +1 -0
- package/plugins/react-hooks/index.d.ts +4 -0
- package/plugins/react-hooks/index.js +14 -4318
- package/plugins/react-hooks/index.js.map +1 -0
- package/plugins/react-hooks/react-hooks-generator.d.ts +3 -0
- package/plugins/react-hooks/react-hooks-generator.js +333 -0
- package/plugins/react-hooks/react-hooks-generator.js.map +1 -0
- package/plugins/trpc/config.d.ts +9 -0
- package/plugins/trpc/config.js +12 -0
- package/plugins/trpc/config.js.map +1 -0
- package/plugins/trpc/generator.d.ts +4 -0
- package/plugins/trpc/generator.js +132 -0
- package/plugins/trpc/generator.js.map +1 -0
- package/plugins/trpc/helpers.d.ts +9 -0
- package/plugins/trpc/helpers.js +144 -0
- package/plugins/trpc/helpers.js.map +1 -0
- package/plugins/trpc/index.d.ts +5 -0
- package/plugins/trpc/index.js +14 -5386
- package/plugins/trpc/index.js.map +1 -0
- package/plugins/trpc/project.d.ts +2 -0
- package/plugins/trpc/project.js +21 -0
- package/plugins/trpc/project.js.map +1 -0
- package/plugins/trpc/types.d.ts +0 -0
- package/plugins/trpc/types.js +1 -0
- package/plugins/trpc/types.js.map +1 -0
- package/plugins/trpc/utils/removeDir.d.ts +1 -0
- package/plugins/trpc/utils/removeDir.js +22 -0
- package/plugins/trpc/utils/removeDir.js.map +1 -0
- package/plugins/trpc/utils/uncapitalizeFirstLetter.d.ts +1 -0
- package/plugins/trpc/utils/uncapitalizeFirstLetter.js +11 -0
- package/plugins/trpc/utils/uncapitalizeFirstLetter.js.map +1 -0
- package/plugins/zod/generator.d.ts +4 -0
- package/plugins/zod/generator.js +78 -0
- package/plugins/zod/generator.js.map +1 -0
- package/plugins/zod/helpers/aggregate-helpers.d.ts +5 -0
- package/plugins/zod/helpers/aggregate-helpers.js +77 -0
- package/plugins/zod/helpers/aggregate-helpers.js.map +1 -0
- package/plugins/zod/helpers/comments-helpers.d.ts +6 -0
- package/plugins/zod/helpers/comments-helpers.js +91 -0
- package/plugins/zod/helpers/comments-helpers.js.map +1 -0
- package/plugins/zod/helpers/helpers.d.ts +8 -0
- package/plugins/zod/helpers/helpers.js +39 -0
- package/plugins/zod/helpers/helpers.js.map +1 -0
- package/plugins/zod/helpers/include-helpers.d.ts +2 -0
- package/plugins/zod/helpers/include-helpers.js +94 -0
- package/plugins/zod/helpers/include-helpers.js.map +1 -0
- package/plugins/zod/helpers/index.d.ts +4 -0
- package/plugins/zod/helpers/index.js +50 -0
- package/plugins/zod/helpers/index.js.map +1 -0
- package/plugins/zod/helpers/model-helpers.d.ts +6 -0
- package/plugins/zod/helpers/model-helpers.js +50 -0
- package/plugins/zod/helpers/model-helpers.js.map +1 -0
- package/plugins/zod/helpers/modelArgs-helpers.d.ts +2 -0
- package/plugins/zod/helpers/modelArgs-helpers.js +62 -0
- package/plugins/zod/helpers/modelArgs-helpers.js.map +1 -0
- package/plugins/zod/helpers/mongodb-helpers.d.ts +3 -0
- package/plugins/zod/helpers/mongodb-helpers.js +63 -0
- package/plugins/zod/helpers/mongodb-helpers.js.map +1 -0
- package/plugins/zod/helpers/select-helpers.d.ts +2 -0
- package/plugins/zod/helpers/select-helpers.js +150 -0
- package/plugins/zod/helpers/select-helpers.js.map +1 -0
- package/plugins/zod/index.d.ts +5 -0
- package/plugins/zod/index.js +14 -4808
- package/plugins/zod/index.js.map +1 -0
- package/plugins/zod/transformer.d.ts +70 -0
- package/plugins/zod/transformer.js +464 -0
- package/plugins/zod/transformer.js.map +1 -0
- package/plugins/zod/types.d.ts +20 -0
- package/plugins/zod/types.js +1 -0
- package/plugins/zod/types.js.map +1 -0
- package/plugins/zod/utils/formatFile.d.ts +1 -0
- package/plugins/zod/utils/formatFile.js +35 -0
- package/plugins/zod/utils/formatFile.js.map +1 -0
- package/plugins/zod/utils/removeDir.d.ts +1 -0
- package/plugins/zod/utils/removeDir.js +22 -0
- package/plugins/zod/utils/removeDir.js.map +1 -0
- package/plugins/zod/utils/writeFileSafely.d.ts +1 -0
- package/plugins/zod/utils/writeFileSafely.js +18 -0
- package/plugins/zod/utils/writeFileSafely.js.map +1 -0
- package/res/prism-zmodel.js +2 -4
- package/res/stdlib.zmodel +12 -1
- package/telemetry.d.ts +21 -0
- package/telemetry.js +102 -0
- package/telemetry.js.map +1 -0
- package/types.d.ts +11 -0
- package/types.js +1 -0
- package/types.js.map +1 -0
- package/utils/ast-utils.d.ts +15 -0
- package/utils/ast-utils.js +79 -0
- package/utils/ast-utils.js.map +1 -0
- package/utils/exec-utils.d.ts +6 -0
- package/utils/exec-utils.js +17 -0
- package/utils/exec-utils.js.map +1 -0
- package/utils/indent-string.d.ts +4 -0
- package/utils/indent-string.js +16 -0
- package/utils/indent-string.js.map +1 -0
- package/utils/pkg-utils.d.ts +3 -0
- package/utils/pkg-utils.js +43 -0
- package/utils/pkg-utils.js.map +1 -0
- package/asset/logo-256-bg.png +0 -0
- package/asset/logo-dark-256.png +0 -0
- package/asset/logo-light-256.png +0 -0
- package/extension.js +0 -39
- package/res/package.template.json +0 -9
- package/res/tsconfig.template.json +0 -17
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.generateProcedure = generateProcedure;
|
|
7
|
+
exports.generateRouterImport = void 0;
|
|
8
|
+
exports.generateRouterSchemaImports = generateRouterSchemaImports;
|
|
9
|
+
exports.getProcedureTypeByOpName = exports.getInputTypeByOpName = exports.generatetRPCImport = void 0;
|
|
10
|
+
exports.resolveModelsComments = resolveModelsComments;
|
|
11
|
+
var _uncapitalizeFirstLetter = require("./utils/uncapitalizeFirstLetter");
|
|
12
|
+
const generatetRPCImport = sourceFile => {
|
|
13
|
+
sourceFile.addImportDeclaration({
|
|
14
|
+
moduleSpecifier: '@trpc/server',
|
|
15
|
+
namespaceImport: 'trpc'
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
exports.generatetRPCImport = generatetRPCImport;
|
|
19
|
+
const generateRouterImport = (sourceFile, modelNamePlural, modelNameCamelCase) => {
|
|
20
|
+
sourceFile.addImportDeclaration({
|
|
21
|
+
moduleSpecifier: `./${modelNameCamelCase}.router`,
|
|
22
|
+
namedImports: [`${modelNamePlural}Router`]
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
exports.generateRouterImport = generateRouterImport;
|
|
26
|
+
function generateProcedure(writer, opType, typeName, modelName, baseOpType) {
|
|
27
|
+
const procType = getProcedureTypeByOpName(baseOpType);
|
|
28
|
+
writer.write(`
|
|
29
|
+
${opType}: procedure.input(${typeName}).${procType}(({ctx, input}) => db(ctx).${(0, _uncapitalizeFirstLetter.uncapitalizeFirstLetter)(modelName)}.${opType.replace('One', '')}(input)),
|
|
30
|
+
`);
|
|
31
|
+
}
|
|
32
|
+
function generateRouterSchemaImports(sourceFile, name) {
|
|
33
|
+
sourceFile.addStatements(`import { ${name}Schema } from '../schemas/${name}.schema';`);
|
|
34
|
+
}
|
|
35
|
+
const getInputTypeByOpName = (opName, modelName) => {
|
|
36
|
+
let inputType;
|
|
37
|
+
switch (opName) {
|
|
38
|
+
case 'findUnique':
|
|
39
|
+
inputType = `${modelName}Schema.findUnique`;
|
|
40
|
+
break;
|
|
41
|
+
case 'findFirst':
|
|
42
|
+
inputType = `${modelName}Schema.findFirst`;
|
|
43
|
+
break;
|
|
44
|
+
case 'findMany':
|
|
45
|
+
inputType = `${modelName}Schema.findMany`;
|
|
46
|
+
break;
|
|
47
|
+
case 'findRaw':
|
|
48
|
+
inputType = `${modelName}Schema.findRawObject`;
|
|
49
|
+
break;
|
|
50
|
+
case 'createOne':
|
|
51
|
+
inputType = `${modelName}Schema.create`;
|
|
52
|
+
break;
|
|
53
|
+
case 'createMany':
|
|
54
|
+
inputType = `${modelName}Schema.createMany`;
|
|
55
|
+
break;
|
|
56
|
+
case 'deleteOne':
|
|
57
|
+
inputType = `${modelName}Schema.delete`;
|
|
58
|
+
break;
|
|
59
|
+
case 'updateOne':
|
|
60
|
+
inputType = `${modelName}Schema.update`;
|
|
61
|
+
break;
|
|
62
|
+
case 'deleteMany':
|
|
63
|
+
inputType = `${modelName}Schema.deleteMany`;
|
|
64
|
+
break;
|
|
65
|
+
case 'updateMany':
|
|
66
|
+
inputType = `${modelName}Schema.updateMany`;
|
|
67
|
+
break;
|
|
68
|
+
case 'upsertOne':
|
|
69
|
+
inputType = `${modelName}Schema.upsert`;
|
|
70
|
+
break;
|
|
71
|
+
case 'aggregate':
|
|
72
|
+
inputType = `${modelName}Schema.aggregate`;
|
|
73
|
+
break;
|
|
74
|
+
case 'aggregateRaw':
|
|
75
|
+
inputType = `${modelName}Schema.aggregateRawObject`;
|
|
76
|
+
break;
|
|
77
|
+
case 'groupBy':
|
|
78
|
+
inputType = `${modelName}Schema.groupBy`;
|
|
79
|
+
break;
|
|
80
|
+
default:
|
|
81
|
+
console.log('getInputTypeByOpName: ', {
|
|
82
|
+
opName,
|
|
83
|
+
modelName
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return inputType;
|
|
87
|
+
};
|
|
88
|
+
exports.getInputTypeByOpName = getInputTypeByOpName;
|
|
89
|
+
const getProcedureTypeByOpName = opName => {
|
|
90
|
+
let procType;
|
|
91
|
+
switch (opName) {
|
|
92
|
+
case 'findUnique':
|
|
93
|
+
case 'findFirst':
|
|
94
|
+
case 'findMany':
|
|
95
|
+
case 'findRaw':
|
|
96
|
+
case 'aggregate':
|
|
97
|
+
case 'aggregateRaw':
|
|
98
|
+
case 'groupBy':
|
|
99
|
+
procType = 'query';
|
|
100
|
+
break;
|
|
101
|
+
case 'createOne':
|
|
102
|
+
case 'createMany':
|
|
103
|
+
case 'deleteOne':
|
|
104
|
+
case 'updateOne':
|
|
105
|
+
case 'deleteMany':
|
|
106
|
+
case 'updateMany':
|
|
107
|
+
case 'upsertOne':
|
|
108
|
+
procType = 'mutation';
|
|
109
|
+
break;
|
|
110
|
+
default:
|
|
111
|
+
console.log('getProcedureTypeByOpName: ', {
|
|
112
|
+
opName
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
return procType;
|
|
116
|
+
};
|
|
117
|
+
exports.getProcedureTypeByOpName = getProcedureTypeByOpName;
|
|
118
|
+
function resolveModelsComments(models, hiddenModels) {
|
|
119
|
+
const modelAttributeRegex = /(@@Gen\.)+([A-z])+(\()+(.+)+(\))+/;
|
|
120
|
+
const attributeNameRegex = /(?:\.)+([A-Za-z])+(?:\()+/;
|
|
121
|
+
const attributeArgsRegex = /(?:\()+([A-Za-z])+:+(.+)+(?:\))+/;
|
|
122
|
+
for (const model of models) {
|
|
123
|
+
if (model.documentation) {
|
|
124
|
+
var _model$documentation, _model$documentation$, _attribute$match, _attribute$match$, _attribute$match2, _attribute$match2$;
|
|
125
|
+
const attribute = (_model$documentation = model.documentation) === null || _model$documentation === void 0 ? void 0 : (_model$documentation$ = _model$documentation.match(modelAttributeRegex)) === null || _model$documentation$ === void 0 ? void 0 : _model$documentation$[0];
|
|
126
|
+
const attributeName = attribute === null || attribute === void 0 ? void 0 : (_attribute$match = attribute.match(attributeNameRegex)) === null || _attribute$match === void 0 ? void 0 : (_attribute$match$ = _attribute$match[0]) === null || _attribute$match$ === void 0 ? void 0 : _attribute$match$.slice(1, -1);
|
|
127
|
+
if (attributeName !== 'model') continue;
|
|
128
|
+
const rawAttributeArgs = attribute === null || attribute === void 0 ? void 0 : (_attribute$match2 = attribute.match(attributeArgsRegex)) === null || _attribute$match2 === void 0 ? void 0 : (_attribute$match2$ = _attribute$match2[0]) === null || _attribute$match2$ === void 0 ? void 0 : _attribute$match2$.slice(1, -1);
|
|
129
|
+
const parsedAttributeArgs = {};
|
|
130
|
+
if (rawAttributeArgs) {
|
|
131
|
+
const rawAttributeArgsParts = rawAttributeArgs.split(':').map(it => it.trim()).map(part => part.startsWith('[') ? part : part.split(',')).flat().map(it => it.trim());
|
|
132
|
+
for (let i = 0; i < rawAttributeArgsParts.length; i += 2) {
|
|
133
|
+
const key = rawAttributeArgsParts[i];
|
|
134
|
+
const value = rawAttributeArgsParts[i + 1];
|
|
135
|
+
parsedAttributeArgs[key] = JSON.parse(value);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (parsedAttributeArgs.hide) {
|
|
139
|
+
hiddenModels.push(model.name);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["generatetRPCImport","sourceFile","addImportDeclaration","moduleSpecifier","namespaceImport","generateRouterImport","modelNamePlural","modelNameCamelCase","namedImports","generateProcedure","writer","opType","typeName","modelName","baseOpType","procType","getProcedureTypeByOpName","write","uncapitalizeFirstLetter","replace","generateRouterSchemaImports","name","addStatements","getInputTypeByOpName","opName","inputType","console","log","resolveModelsComments","models","hiddenModels","modelAttributeRegex","attributeNameRegex","attributeArgsRegex","model","documentation","attribute","match","attributeName","slice","rawAttributeArgs","parsedAttributeArgs","rawAttributeArgsParts","split","map","it","trim","part","startsWith","flat","i","length","key","value","JSON","parse","hide","push"],"sources":["../../../src/plugins/trpc/helpers.ts"],"sourcesContent":["import { DMMF } from '@prisma/generator-helper';\nimport { CodeBlockWriter, SourceFile } from 'ts-morph';\nimport { uncapitalizeFirstLetter } from './utils/uncapitalizeFirstLetter';\n\nexport const generatetRPCImport = (sourceFile: SourceFile) => {\n sourceFile.addImportDeclaration({\n moduleSpecifier: '@trpc/server',\n namespaceImport: 'trpc',\n });\n};\n\nexport const generateRouterImport = (sourceFile: SourceFile, modelNamePlural: string, modelNameCamelCase: string) => {\n sourceFile.addImportDeclaration({\n moduleSpecifier: `./${modelNameCamelCase}.router`,\n namedImports: [`${modelNamePlural}Router`],\n });\n};\n\nexport function generateProcedure(\n writer: CodeBlockWriter,\n opType: string,\n typeName: string,\n modelName: string,\n baseOpType: string\n) {\n const procType = getProcedureTypeByOpName(baseOpType);\n writer.write(`\n ${opType}: procedure.input(${typeName}).${procType}(({ctx, input}) => db(ctx).${uncapitalizeFirstLetter(\n modelName\n )}.${opType.replace('One', '')}(input)),\n `);\n}\n\nexport function generateRouterSchemaImports(sourceFile: SourceFile, name: string) {\n sourceFile.addStatements(`import { ${name}Schema } from '../schemas/${name}.schema';`);\n}\n\nexport const getInputTypeByOpName = (opName: string, modelName: string) => {\n let inputType;\n switch (opName) {\n case 'findUnique':\n inputType = `${modelName}Schema.findUnique`;\n break;\n case 'findFirst':\n inputType = `${modelName}Schema.findFirst`;\n break;\n case 'findMany':\n inputType = `${modelName}Schema.findMany`;\n break;\n case 'findRaw':\n inputType = `${modelName}Schema.findRawObject`;\n break;\n case 'createOne':\n inputType = `${modelName}Schema.create`;\n break;\n case 'createMany':\n inputType = `${modelName}Schema.createMany`;\n break;\n case 'deleteOne':\n inputType = `${modelName}Schema.delete`;\n break;\n case 'updateOne':\n inputType = `${modelName}Schema.update`;\n break;\n case 'deleteMany':\n inputType = `${modelName}Schema.deleteMany`;\n break;\n case 'updateMany':\n inputType = `${modelName}Schema.updateMany`;\n break;\n case 'upsertOne':\n inputType = `${modelName}Schema.upsert`;\n break;\n case 'aggregate':\n inputType = `${modelName}Schema.aggregate`;\n break;\n case 'aggregateRaw':\n inputType = `${modelName}Schema.aggregateRawObject`;\n break;\n case 'groupBy':\n inputType = `${modelName}Schema.groupBy`;\n break;\n default:\n console.log('getInputTypeByOpName: ', { opName, modelName });\n }\n return inputType;\n};\n\nexport const getProcedureTypeByOpName = (opName: string) => {\n let procType;\n switch (opName) {\n case 'findUnique':\n case 'findFirst':\n case 'findMany':\n case 'findRaw':\n case 'aggregate':\n case 'aggregateRaw':\n case 'groupBy':\n procType = 'query';\n break;\n case 'createOne':\n case 'createMany':\n case 'deleteOne':\n case 'updateOne':\n case 'deleteMany':\n case 'updateMany':\n case 'upsertOne':\n procType = 'mutation';\n break;\n default:\n console.log('getProcedureTypeByOpName: ', { opName });\n }\n return procType;\n};\n\nexport function resolveModelsComments(models: DMMF.Model[], hiddenModels: string[]) {\n const modelAttributeRegex = /(@@Gen\\.)+([A-z])+(\\()+(.+)+(\\))+/;\n const attributeNameRegex = /(?:\\.)+([A-Za-z])+(?:\\()+/;\n const attributeArgsRegex = /(?:\\()+([A-Za-z])+:+(.+)+(?:\\))+/;\n\n for (const model of models) {\n if (model.documentation) {\n const attribute = model.documentation?.match(modelAttributeRegex)?.[0];\n const attributeName = attribute?.match(attributeNameRegex)?.[0]?.slice(1, -1);\n if (attributeName !== 'model') continue;\n const rawAttributeArgs = attribute?.match(attributeArgsRegex)?.[0]?.slice(1, -1);\n\n const parsedAttributeArgs: Record<string, unknown> = {};\n if (rawAttributeArgs) {\n const rawAttributeArgsParts = rawAttributeArgs\n .split(':')\n .map((it) => it.trim())\n .map((part) => (part.startsWith('[') ? part : part.split(',')))\n .flat()\n .map((it) => it.trim());\n\n for (let i = 0; i < rawAttributeArgsParts.length; i += 2) {\n const key = rawAttributeArgsParts[i];\n const value = rawAttributeArgsParts[i + 1];\n parsedAttributeArgs[key] = JSON.parse(value);\n }\n }\n if (parsedAttributeArgs.hide) {\n hiddenModels.push(model.name);\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { DMMF } from '@prisma/generator-helper';
|
|
2
|
+
import { PluginOptions } from '@zenstackhq/sdk';
|
|
3
|
+
import { Model } from '@zenstackhq/sdk/ast';
|
|
4
|
+
export declare const name = "tRPC";
|
|
5
|
+
export default function run(model: Model, options: PluginOptions, dmmf: DMMF.Document): Promise<void>;
|