@zenstackhq/openapi 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/generator-base.d.ts +65 -0
- package/generator-base.js +103 -0
- package/generator-base.js.map +1 -0
- package/index.d.ts +1 -1
- package/index.js +12 -2
- package/index.js.map +1 -1
- package/package.json +14 -11
- package/plugin.zmodel +2 -2
- package/rest-generator.d.ts +36 -0
- package/rest-generator.js +853 -0
- package/rest-generator.js.map +1 -0
- package/{generator.d.ts → rpc-generator.d.ts} +3 -16
- package/{generator.js → rpc-generator.js} +148 -129
- package/rpc-generator.js.map +1 -0
- package/generator.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest-generator.js","sourceRoot":"","sources":["../src/rest-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { PluginOptions } from '@zenstackhq/sdk';
|
|
3
|
-
import { type Model } from '@zenstackhq/sdk/ast';
|
|
1
|
+
import { OpenAPIGeneratorBase } from './generator-base';
|
|
4
2
|
/**
|
|
5
3
|
* Generates OpenAPI specification.
|
|
6
4
|
*/
|
|
7
|
-
export declare class
|
|
8
|
-
private model;
|
|
9
|
-
private options;
|
|
10
|
-
private dmmf;
|
|
5
|
+
export declare class RPCOpenAPIGenerator extends OpenAPIGeneratorBase {
|
|
11
6
|
private inputObjectTypes;
|
|
12
7
|
private outputObjectTypes;
|
|
13
8
|
private usedComponents;
|
|
14
9
|
private aggregateOperationSupport;
|
|
15
|
-
private includedModels;
|
|
16
10
|
private warnings;
|
|
17
|
-
constructor(model: Model, options: PluginOptions, dmmf: DMMF.Document);
|
|
18
11
|
generate(): string[];
|
|
19
|
-
private generateSecuritySchemes;
|
|
20
|
-
private pruneComponents;
|
|
21
|
-
private collectUsedComponents;
|
|
22
12
|
private generatePaths;
|
|
23
13
|
private generatePathsForModel;
|
|
24
14
|
private aggregateFields;
|
|
25
15
|
private component;
|
|
26
|
-
private getOption;
|
|
27
16
|
private generateComponents;
|
|
28
17
|
private generateEnumComponent;
|
|
29
18
|
private generateEntityComponent;
|
|
@@ -33,8 +22,6 @@ export declare class OpenAPIGenerator {
|
|
|
33
22
|
private setInputRequired;
|
|
34
23
|
private setOutputRequired;
|
|
35
24
|
private prismaTypeToOpenAPIType;
|
|
36
|
-
private wrapArray;
|
|
37
25
|
private ref;
|
|
38
|
-
private
|
|
39
|
-
private oneOf;
|
|
26
|
+
private response;
|
|
40
27
|
}
|
|
@@ -27,40 +27,34 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.
|
|
30
|
+
exports.RPCOpenAPIGenerator = void 0;
|
|
31
31
|
const sdk_1 = require("@zenstackhq/sdk");
|
|
32
32
|
const ast_1 = require("@zenstackhq/sdk/ast");
|
|
33
33
|
const dmmf_helpers_1 = require("@zenstackhq/sdk/dmmf-helpers");
|
|
34
|
-
const change_case_1 = require("change-case");
|
|
35
34
|
const fs = __importStar(require("fs"));
|
|
35
|
+
const lower_case_first_1 = require("lower-case-first");
|
|
36
36
|
const path = __importStar(require("path"));
|
|
37
37
|
const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
|
|
38
38
|
const yaml_1 = __importDefault(require("yaml"));
|
|
39
|
-
const
|
|
39
|
+
const generator_base_1 = require("./generator-base");
|
|
40
40
|
const meta_1 = require("./meta");
|
|
41
|
-
const schema_1 = require("./schema");
|
|
42
41
|
/**
|
|
43
42
|
* Generates OpenAPI specification.
|
|
44
43
|
*/
|
|
45
|
-
class
|
|
46
|
-
constructor(
|
|
47
|
-
|
|
48
|
-
this.options = options;
|
|
49
|
-
this.dmmf = dmmf;
|
|
44
|
+
class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
|
|
45
|
+
constructor() {
|
|
46
|
+
super(...arguments);
|
|
50
47
|
this.inputObjectTypes = [];
|
|
51
48
|
this.outputObjectTypes = [];
|
|
52
49
|
this.usedComponents = new Set();
|
|
53
50
|
this.warnings = [];
|
|
54
51
|
}
|
|
55
52
|
generate() {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
throw new sdk_1.PluginError('"output" option is required');
|
|
59
|
-
}
|
|
53
|
+
let output = (0, sdk_1.requireOption)(this.options, 'output');
|
|
54
|
+
output = (0, sdk_1.resolvePath)(output, this.options);
|
|
60
55
|
// input types
|
|
61
56
|
this.inputObjectTypes.push(...this.dmmf.schema.inputObjectTypes.prisma);
|
|
62
57
|
this.outputObjectTypes.push(...this.dmmf.schema.outputObjectTypes.prisma);
|
|
63
|
-
this.includedModels = (0, sdk_1.getDataModels)(this.model).filter((d) => !(0, sdk_1.hasAttribute)(d, '@@openapi.ignore'));
|
|
64
58
|
// add input object types that are missing from Prisma dmmf
|
|
65
59
|
(0, dmmf_helpers_1.addMissingInputObjectTypesForModelArgs)(this.inputObjectTypes, this.dmmf.datamodel.models);
|
|
66
60
|
(0, dmmf_helpers_1.addMissingInputObjectTypesForInclude)(this.inputObjectTypes, this.dmmf.datamodel.models);
|
|
@@ -70,13 +64,13 @@ class OpenAPIGenerator {
|
|
|
70
64
|
const components = this.generateComponents();
|
|
71
65
|
const paths = this.generatePaths(components);
|
|
72
66
|
// generate security schemes, and root-level security
|
|
73
|
-
this.generateSecuritySchemes(
|
|
67
|
+
components.securitySchemes = this.generateSecuritySchemes();
|
|
74
68
|
let security = undefined;
|
|
75
69
|
if (components.securitySchemes && Object.keys(components.securitySchemes).length > 0) {
|
|
76
70
|
security = Object.keys(components.securitySchemes).map((scheme) => ({ [scheme]: [] }));
|
|
77
71
|
}
|
|
78
72
|
// prune unused component schemas
|
|
79
|
-
this.pruneComponents(components);
|
|
73
|
+
this.pruneComponents(paths, components);
|
|
80
74
|
const openapi = {
|
|
81
75
|
openapi: this.getOption('specVersion', '3.1.0'),
|
|
82
76
|
info: {
|
|
@@ -89,7 +83,7 @@ class OpenAPIGenerator {
|
|
|
89
83
|
var _a;
|
|
90
84
|
const meta = (0, meta_1.getModelResourceMeta)(model);
|
|
91
85
|
return {
|
|
92
|
-
name: (0,
|
|
86
|
+
name: (0, lower_case_first_1.lowerCaseFirst)(model.name),
|
|
93
87
|
description: (_a = meta === null || meta === void 0 ? void 0 : meta.tagDescription) !== null && _a !== void 0 ? _a : `${model.name} operations`,
|
|
94
88
|
};
|
|
95
89
|
}),
|
|
@@ -106,75 +100,15 @@ class OpenAPIGenerator {
|
|
|
106
100
|
}
|
|
107
101
|
return this.warnings;
|
|
108
102
|
}
|
|
109
|
-
generateSecuritySchemes(components) {
|
|
110
|
-
const securitySchemes = this.getOption('securitySchemes');
|
|
111
|
-
if (securitySchemes) {
|
|
112
|
-
const parsed = schema_1.SecuritySchemesSchema.safeParse(securitySchemes);
|
|
113
|
-
if (!parsed.success) {
|
|
114
|
-
throw new sdk_1.PluginError(`"securitySchemes" option is invalid: ${(0, zod_validation_error_1.fromZodError)(parsed.error)}`);
|
|
115
|
-
}
|
|
116
|
-
components.securitySchemes = parsed.data;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
pruneComponents(components) {
|
|
120
|
-
const schemas = components.schemas;
|
|
121
|
-
if (schemas) {
|
|
122
|
-
// build a transitive closure for all reachable schemas from roots
|
|
123
|
-
const allUsed = new Set(this.usedComponents);
|
|
124
|
-
let todo = [...allUsed];
|
|
125
|
-
while (todo.length > 0) {
|
|
126
|
-
const curr = new Set(allUsed);
|
|
127
|
-
Object.entries(schemas)
|
|
128
|
-
.filter(([key]) => todo.includes(key))
|
|
129
|
-
.forEach(([, value]) => {
|
|
130
|
-
this.collectUsedComponents(value, allUsed);
|
|
131
|
-
});
|
|
132
|
-
todo = [...allUsed].filter((e) => !curr.has(e));
|
|
133
|
-
}
|
|
134
|
-
// prune unused schemas
|
|
135
|
-
Object.keys(schemas).forEach((key) => {
|
|
136
|
-
if (!allUsed.has(key)) {
|
|
137
|
-
delete schemas[key];
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
collectUsedComponents(value, allUsed) {
|
|
143
|
-
if (!value) {
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
if (Array.isArray(value)) {
|
|
147
|
-
value.forEach((item) => {
|
|
148
|
-
this.collectUsedComponents(item, allUsed);
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
else if (typeof value === 'object') {
|
|
152
|
-
Object.entries(value).forEach(([subKey, subValue]) => {
|
|
153
|
-
if (subKey === '$ref') {
|
|
154
|
-
const ref = subValue;
|
|
155
|
-
const name = ref.split('/').pop();
|
|
156
|
-
if (name && !allUsed.has(name)) {
|
|
157
|
-
allUsed.add(name);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
this.collectUsedComponents(subValue, allUsed);
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
103
|
generatePaths(components) {
|
|
167
104
|
let result = {};
|
|
168
|
-
const includeModelNames = this.includedModels.map((d) => d.name);
|
|
169
105
|
for (const model of this.dmmf.datamodel.models) {
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
this.warnings.push(`Unable to load ZModel definition for: ${model.name}}`);
|
|
177
|
-
}
|
|
106
|
+
const zmodel = this.model.declarations.find((d) => (0, ast_1.isDataModel)(d) && d.name === model.name);
|
|
107
|
+
if (zmodel) {
|
|
108
|
+
result = Object.assign(Object.assign({}, result), this.generatePathsForModel(model, zmodel, components));
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
this.warnings.push(`Unable to load ZModel definition for: ${model.name}}`);
|
|
178
112
|
}
|
|
179
113
|
}
|
|
180
114
|
return result;
|
|
@@ -198,13 +132,15 @@ class OpenAPIGenerator {
|
|
|
198
132
|
operation: 'create',
|
|
199
133
|
inputType: this.component(`${model.name}CreateArgs`, {
|
|
200
134
|
type: 'object',
|
|
135
|
+
required: ['data'],
|
|
201
136
|
properties: {
|
|
202
137
|
select: this.ref(`${model.name}Select`),
|
|
203
138
|
include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
|
|
204
139
|
data: this.ref(`${model.name}CreateInput`),
|
|
140
|
+
meta: this.ref('_Meta'),
|
|
205
141
|
},
|
|
206
142
|
}, components),
|
|
207
|
-
outputType: this.ref(model.name),
|
|
143
|
+
outputType: this.response(this.ref(model.name)),
|
|
208
144
|
description: `Create a new ${model.name}`,
|
|
209
145
|
successCode: 201,
|
|
210
146
|
security: create === true ? [] : undefined,
|
|
@@ -216,11 +152,13 @@ class OpenAPIGenerator {
|
|
|
216
152
|
operation: 'createMany',
|
|
217
153
|
inputType: this.component(`${model.name}CreateManyArgs`, {
|
|
218
154
|
type: 'object',
|
|
155
|
+
required: ['data'],
|
|
219
156
|
properties: {
|
|
220
157
|
data: this.ref(`${model.name}CreateManyInput`),
|
|
158
|
+
meta: this.ref('_Meta'),
|
|
221
159
|
},
|
|
222
160
|
}, components),
|
|
223
|
-
outputType: this.ref('BatchPayload'),
|
|
161
|
+
outputType: this.response(this.ref('BatchPayload')),
|
|
224
162
|
description: `Create several ${model.name}`,
|
|
225
163
|
successCode: 201,
|
|
226
164
|
security: create === true ? [] : undefined,
|
|
@@ -232,13 +170,15 @@ class OpenAPIGenerator {
|
|
|
232
170
|
operation: 'findUnique',
|
|
233
171
|
inputType: this.component(`${model.name}FindUniqueArgs`, {
|
|
234
172
|
type: 'object',
|
|
173
|
+
required: ['where'],
|
|
235
174
|
properties: {
|
|
236
175
|
select: this.ref(`${model.name}Select`),
|
|
237
176
|
include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
|
|
238
177
|
where: this.ref(`${model.name}WhereUniqueInput`),
|
|
178
|
+
meta: this.ref('_Meta'),
|
|
239
179
|
},
|
|
240
180
|
}, components),
|
|
241
|
-
outputType: this.ref(model.name),
|
|
181
|
+
outputType: this.response(this.ref(model.name)),
|
|
242
182
|
description: `Find one unique ${model.name}`,
|
|
243
183
|
security: read === true ? [] : undefined,
|
|
244
184
|
});
|
|
@@ -253,9 +193,10 @@ class OpenAPIGenerator {
|
|
|
253
193
|
select: this.ref(`${model.name}Select`),
|
|
254
194
|
include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
|
|
255
195
|
where: this.ref(`${model.name}WhereInput`),
|
|
196
|
+
meta: this.ref('_Meta'),
|
|
256
197
|
},
|
|
257
198
|
}, components),
|
|
258
|
-
outputType: this.ref(model.name),
|
|
199
|
+
outputType: this.response(this.ref(model.name)),
|
|
259
200
|
description: `Find the first ${model.name} matching the given condition`,
|
|
260
201
|
security: read === true ? [] : undefined,
|
|
261
202
|
});
|
|
@@ -270,9 +211,10 @@ class OpenAPIGenerator {
|
|
|
270
211
|
select: this.ref(`${model.name}Select`),
|
|
271
212
|
include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
|
|
272
213
|
where: this.ref(`${model.name}WhereInput`),
|
|
214
|
+
meta: this.ref('_Meta'),
|
|
273
215
|
},
|
|
274
216
|
}, components),
|
|
275
|
-
outputType: this.array(this.ref(model.name)),
|
|
217
|
+
outputType: this.response(this.array(this.ref(model.name))),
|
|
276
218
|
description: `Find a list of ${model.name}`,
|
|
277
219
|
security: read === true ? [] : undefined,
|
|
278
220
|
});
|
|
@@ -283,14 +225,16 @@ class OpenAPIGenerator {
|
|
|
283
225
|
operation: 'update',
|
|
284
226
|
inputType: this.component(`${model.name}UpdateArgs`, {
|
|
285
227
|
type: 'object',
|
|
228
|
+
required: ['where', 'data'],
|
|
286
229
|
properties: {
|
|
287
230
|
select: this.ref(`${model.name}Select`),
|
|
288
231
|
include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
|
|
289
232
|
where: this.ref(`${model.name}WhereUniqueInput`),
|
|
290
233
|
data: this.ref(`${model.name}UpdateInput`),
|
|
234
|
+
meta: this.ref('_Meta'),
|
|
291
235
|
},
|
|
292
236
|
}, components),
|
|
293
|
-
outputType: this.ref(model.name),
|
|
237
|
+
outputType: this.response(this.ref(model.name)),
|
|
294
238
|
description: `Update a ${model.name}`,
|
|
295
239
|
security: update === true ? [] : undefined,
|
|
296
240
|
});
|
|
@@ -301,12 +245,14 @@ class OpenAPIGenerator {
|
|
|
301
245
|
method: 'patch',
|
|
302
246
|
inputType: this.component(`${model.name}UpdateManyArgs`, {
|
|
303
247
|
type: 'object',
|
|
248
|
+
required: ['data'],
|
|
304
249
|
properties: {
|
|
305
250
|
where: this.ref(`${model.name}WhereInput`),
|
|
306
251
|
data: this.ref(`${model.name}UpdateManyMutationInput`),
|
|
252
|
+
meta: this.ref('_Meta'),
|
|
307
253
|
},
|
|
308
254
|
}, components),
|
|
309
|
-
outputType: this.ref('BatchPayload'),
|
|
255
|
+
outputType: this.response(this.ref('BatchPayload')),
|
|
310
256
|
description: `Update ${model.name}s matching the given condition`,
|
|
311
257
|
security: update === true ? [] : undefined,
|
|
312
258
|
});
|
|
@@ -317,15 +263,17 @@ class OpenAPIGenerator {
|
|
|
317
263
|
operation: 'upsert',
|
|
318
264
|
inputType: this.component(`${model.name}UpsertArgs`, {
|
|
319
265
|
type: 'object',
|
|
266
|
+
required: ['create', 'update', 'where'],
|
|
320
267
|
properties: {
|
|
321
268
|
select: this.ref(`${model.name}Select`),
|
|
322
269
|
include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
|
|
323
270
|
where: this.ref(`${model.name}WhereUniqueInput`),
|
|
324
271
|
create: this.ref(`${model.name}CreateInput`),
|
|
325
272
|
update: this.ref(`${model.name}UpdateInput`),
|
|
273
|
+
meta: this.ref('_Meta'),
|
|
326
274
|
},
|
|
327
275
|
}, components),
|
|
328
|
-
outputType: this.ref(model.name),
|
|
276
|
+
outputType: this.response(this.ref(model.name)),
|
|
329
277
|
description: `Upsert a ${model.name}`,
|
|
330
278
|
security: create === true && update == true ? [] : undefined,
|
|
331
279
|
});
|
|
@@ -336,13 +284,15 @@ class OpenAPIGenerator {
|
|
|
336
284
|
operation: 'delete',
|
|
337
285
|
inputType: this.component(`${model.name}DeleteUniqueArgs`, {
|
|
338
286
|
type: 'object',
|
|
287
|
+
required: ['where'],
|
|
339
288
|
properties: {
|
|
340
289
|
select: this.ref(`${model.name}Select`),
|
|
341
290
|
include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
|
|
342
291
|
where: this.ref(`${model.name}WhereUniqueInput`),
|
|
292
|
+
meta: this.ref('_Meta'),
|
|
343
293
|
},
|
|
344
294
|
}, components),
|
|
345
|
-
outputType: this.ref(model.name),
|
|
295
|
+
outputType: this.response(this.ref(model.name)),
|
|
346
296
|
description: `Delete one unique ${model.name}`,
|
|
347
297
|
security: del === true ? [] : undefined,
|
|
348
298
|
});
|
|
@@ -355,9 +305,10 @@ class OpenAPIGenerator {
|
|
|
355
305
|
type: 'object',
|
|
356
306
|
properties: {
|
|
357
307
|
where: this.ref(`${model.name}WhereInput`),
|
|
308
|
+
meta: this.ref('_Meta'),
|
|
358
309
|
},
|
|
359
310
|
}, components),
|
|
360
|
-
outputType: this.ref('BatchPayload'),
|
|
311
|
+
outputType: this.response(this.ref('BatchPayload')),
|
|
361
312
|
description: `Delete ${model.name}s matching the given condition`,
|
|
362
313
|
security: del === true ? [] : undefined,
|
|
363
314
|
});
|
|
@@ -371,9 +322,10 @@ class OpenAPIGenerator {
|
|
|
371
322
|
properties: {
|
|
372
323
|
select: this.ref(`${model.name}Select`),
|
|
373
324
|
where: this.ref(`${model.name}WhereInput`),
|
|
325
|
+
meta: this.ref('_Meta'),
|
|
374
326
|
},
|
|
375
327
|
}, components),
|
|
376
|
-
outputType: this.oneOf({ type: 'integer' }, this.ref(`${model.name}CountAggregateOutputType`)),
|
|
328
|
+
outputType: this.response(this.oneOf({ type: 'integer' }, this.ref(`${model.name}CountAggregateOutputType`))),
|
|
377
329
|
description: `Find a list of ${model.name}`,
|
|
378
330
|
security: read === true ? [] : undefined,
|
|
379
331
|
});
|
|
@@ -383,9 +335,9 @@ class OpenAPIGenerator {
|
|
|
383
335
|
operation: 'aggregate',
|
|
384
336
|
inputType: this.component(`${model.name}AggregateArgs`, {
|
|
385
337
|
type: 'object',
|
|
386
|
-
properties: Object.assign({ where: this.ref(`${model.name}WhereInput`), orderBy: this.ref(`${model.name}OrderByWithRelationInput`), cursor: this.ref(`${model.name}WhereUniqueInput`), take: { type: 'integer' }, skip: { type: 'integer' } }, this.aggregateFields(model)),
|
|
338
|
+
properties: Object.assign(Object.assign({ where: this.ref(`${model.name}WhereInput`), orderBy: this.ref(`${model.name}OrderByWithRelationInput`), cursor: this.ref(`${model.name}WhereUniqueInput`), take: { type: 'integer' }, skip: { type: 'integer' } }, this.aggregateFields(model)), { meta: this.ref('_Meta') }),
|
|
387
339
|
}, components),
|
|
388
|
-
outputType: this.ref(`Aggregate${model.name}`),
|
|
340
|
+
outputType: this.response(this.ref(`Aggregate${model.name}`)),
|
|
389
341
|
description: `Aggregate ${model.name}s`,
|
|
390
342
|
security: read === true ? [] : undefined,
|
|
391
343
|
});
|
|
@@ -396,9 +348,9 @@ class OpenAPIGenerator {
|
|
|
396
348
|
operation: 'groupBy',
|
|
397
349
|
inputType: this.component(`${model.name}GroupByArgs`, {
|
|
398
350
|
type: 'object',
|
|
399
|
-
properties: Object.assign({ where: this.ref(`${model.name}WhereInput`), orderBy: this.ref(`${model.name}OrderByWithRelationInput`), by: this.ref(`${model.name}ScalarFieldEnum`), having: this.ref(`${model.name}ScalarWhereWithAggregatesInput`), take: { type: 'integer' }, skip: { type: 'integer' } }, this.aggregateFields(model)),
|
|
351
|
+
properties: Object.assign(Object.assign({ where: this.ref(`${model.name}WhereInput`), orderBy: this.ref(`${model.name}OrderByWithRelationInput`), by: this.ref(`${model.name}ScalarFieldEnum`), having: this.ref(`${model.name}ScalarWhereWithAggregatesInput`), take: { type: 'integer' }, skip: { type: 'integer' } }, this.aggregateFields(model)), { meta: this.ref('_Meta') }),
|
|
400
352
|
}, components),
|
|
401
|
-
outputType: this.array(this.ref(`${model.name}GroupByOutputType`)),
|
|
353
|
+
outputType: this.response(this.array(this.ref(`${model.name}GroupByOutputType`))),
|
|
402
354
|
description: `Group ${model.name}s by fields`,
|
|
403
355
|
security: read === true ? [] : undefined,
|
|
404
356
|
});
|
|
@@ -423,7 +375,7 @@ class OpenAPIGenerator {
|
|
|
423
375
|
const def = {
|
|
424
376
|
operationId: `${operation}${model.name}`,
|
|
425
377
|
description: (_c = meta === null || meta === void 0 ? void 0 : meta.description) !== null && _c !== void 0 ? _c : description,
|
|
426
|
-
tags: (meta === null || meta === void 0 ? void 0 : meta.tags) || [(0,
|
|
378
|
+
tags: (meta === null || meta === void 0 ? void 0 : meta.tags) || [(0, lower_case_first_1.lowerCaseFirst)(model.name)],
|
|
427
379
|
summary: meta === null || meta === void 0 ? void 0 : meta.summary,
|
|
428
380
|
// security priority: operation-level > model-level > inferred
|
|
429
381
|
security: (_e = (_d = meta === null || meta === void 0 ? void 0 : meta.security) !== null && _d !== void 0 ? _d : resourceMeta === null || resourceMeta === void 0 ? void 0 : resourceMeta.security) !== null && _e !== void 0 ? _e : security,
|
|
@@ -438,10 +390,20 @@ class OpenAPIGenerator {
|
|
|
438
390
|
},
|
|
439
391
|
},
|
|
440
392
|
'400': {
|
|
393
|
+
content: {
|
|
394
|
+
'application/json': {
|
|
395
|
+
schema: this.ref('_Error'),
|
|
396
|
+
},
|
|
397
|
+
},
|
|
441
398
|
description: 'Invalid request',
|
|
442
399
|
},
|
|
443
400
|
'403': {
|
|
444
|
-
|
|
401
|
+
content: {
|
|
402
|
+
'application/json': {
|
|
403
|
+
schema: this.ref('_Error'),
|
|
404
|
+
},
|
|
405
|
+
},
|
|
406
|
+
description: 'Request is forbidden',
|
|
445
407
|
},
|
|
446
408
|
},
|
|
447
409
|
};
|
|
@@ -461,18 +423,32 @@ class OpenAPIGenerator {
|
|
|
461
423
|
name: 'q',
|
|
462
424
|
in: 'query',
|
|
463
425
|
required: true,
|
|
426
|
+
description: 'Superjson-serialized Prisma query object',
|
|
464
427
|
content: {
|
|
465
428
|
'application/json': {
|
|
466
429
|
schema: inputType,
|
|
467
430
|
},
|
|
468
431
|
},
|
|
469
432
|
},
|
|
433
|
+
{
|
|
434
|
+
name: 'meta',
|
|
435
|
+
in: 'query',
|
|
436
|
+
description: 'Superjson serialization metadata for parameter "q"',
|
|
437
|
+
content: {
|
|
438
|
+
'application/json': {
|
|
439
|
+
schema: {},
|
|
440
|
+
},
|
|
441
|
+
},
|
|
442
|
+
},
|
|
470
443
|
];
|
|
471
444
|
}
|
|
472
445
|
}
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
446
|
+
const includeModelNames = this.includedModels.map((d) => d.name);
|
|
447
|
+
if (includeModelNames.includes(model.name)) {
|
|
448
|
+
result[`${prefix}/${(0, lower_case_first_1.lowerCaseFirst)(model.name)}/${resolvedPath}`] = {
|
|
449
|
+
[resolvedMethod]: def,
|
|
450
|
+
};
|
|
451
|
+
}
|
|
476
452
|
}
|
|
477
453
|
return result;
|
|
478
454
|
}
|
|
@@ -503,12 +479,6 @@ class OpenAPIGenerator {
|
|
|
503
479
|
components.schemas[name] = def;
|
|
504
480
|
return this.ref(name);
|
|
505
481
|
}
|
|
506
|
-
getOption(name, defaultValue) {
|
|
507
|
-
const value = this.options[name];
|
|
508
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
509
|
-
// @ts-expect-error
|
|
510
|
-
return value === undefined ? defaultValue : value;
|
|
511
|
-
}
|
|
512
482
|
generateComponents() {
|
|
513
483
|
var _a;
|
|
514
484
|
const schemas = {};
|
|
@@ -529,6 +499,54 @@ class OpenAPIGenerator {
|
|
|
529
499
|
for (const output of this.outputObjectTypes.filter((t) => !['Query', 'Mutation'].includes(t.name))) {
|
|
530
500
|
schemas[output.name] = this.generateOutputComponent(output);
|
|
531
501
|
}
|
|
502
|
+
schemas['_Meta'] = {
|
|
503
|
+
type: 'object',
|
|
504
|
+
properties: {
|
|
505
|
+
meta: {
|
|
506
|
+
type: 'object',
|
|
507
|
+
description: 'Meta information about the request or response',
|
|
508
|
+
properties: {
|
|
509
|
+
serialization: {
|
|
510
|
+
description: 'Serialization metadata',
|
|
511
|
+
},
|
|
512
|
+
},
|
|
513
|
+
additionalProperties: true,
|
|
514
|
+
},
|
|
515
|
+
},
|
|
516
|
+
};
|
|
517
|
+
schemas['_Error'] = {
|
|
518
|
+
type: 'object',
|
|
519
|
+
required: ['error'],
|
|
520
|
+
properties: {
|
|
521
|
+
error: {
|
|
522
|
+
type: 'object',
|
|
523
|
+
required: ['message'],
|
|
524
|
+
properties: {
|
|
525
|
+
prisma: {
|
|
526
|
+
type: 'boolean',
|
|
527
|
+
description: 'Indicates if the error occurred during a Prisma call',
|
|
528
|
+
},
|
|
529
|
+
rejectedByPolicy: {
|
|
530
|
+
type: 'boolean',
|
|
531
|
+
description: 'Indicates if the error was due to rejection by a policy',
|
|
532
|
+
},
|
|
533
|
+
code: {
|
|
534
|
+
type: 'string',
|
|
535
|
+
description: 'Prisma error code. Only available when "prisma" field is true.',
|
|
536
|
+
},
|
|
537
|
+
message: {
|
|
538
|
+
type: 'string',
|
|
539
|
+
description: 'Error message',
|
|
540
|
+
},
|
|
541
|
+
reason: {
|
|
542
|
+
type: 'string',
|
|
543
|
+
description: 'Detailed error reason',
|
|
544
|
+
},
|
|
545
|
+
},
|
|
546
|
+
additionalProperties: true,
|
|
547
|
+
},
|
|
548
|
+
},
|
|
549
|
+
};
|
|
532
550
|
// misc types
|
|
533
551
|
schemas['BatchPayload'] = {
|
|
534
552
|
type: 'object',
|
|
@@ -569,7 +587,7 @@ class OpenAPIGenerator {
|
|
|
569
587
|
case 'object':
|
|
570
588
|
return this.wrapArray(this.ref(def.type, false), def.isList);
|
|
571
589
|
default:
|
|
572
|
-
throw new sdk_1.PluginError(`Unsupported field kind: ${def.kind}`);
|
|
590
|
+
throw new sdk_1.PluginError(this.options.name, `Unsupported field kind: ${def.kind}`);
|
|
573
591
|
}
|
|
574
592
|
}
|
|
575
593
|
generateInputComponent(input) {
|
|
@@ -577,7 +595,9 @@ class OpenAPIGenerator {
|
|
|
577
595
|
const fields = input.fields.filter((f) => !sdk_1.AUXILIARY_FIELDS.includes(f.name));
|
|
578
596
|
for (const field of fields) {
|
|
579
597
|
const options = field.inputTypes
|
|
580
|
-
.filter((f) => f.type !== 'Null'
|
|
598
|
+
.filter((f) => f.type !== 'Null' &&
|
|
599
|
+
// fieldRefTypes refer to other fields in the model and don't need to be generated as part of schema
|
|
600
|
+
f.location !== 'fieldRefTypes')
|
|
581
601
|
.map((f) => {
|
|
582
602
|
return this.wrapArray(this.prismaTypeToOpenAPIType(f.type), f.isList);
|
|
583
603
|
});
|
|
@@ -628,13 +648,16 @@ class OpenAPIGenerator {
|
|
|
628
648
|
case 'BigInt':
|
|
629
649
|
return { type: 'integer' };
|
|
630
650
|
case 'Float':
|
|
631
|
-
case 'Decimal':
|
|
632
651
|
return { type: 'number' };
|
|
652
|
+
case 'Decimal':
|
|
653
|
+
return this.oneOf({ type: 'string' }, { type: 'number' });
|
|
633
654
|
case 'Boolean':
|
|
634
655
|
case 'True':
|
|
635
656
|
return { type: 'boolean' };
|
|
636
657
|
case 'DateTime':
|
|
637
658
|
return { type: 'string', format: 'date-time' };
|
|
659
|
+
case 'Bytes':
|
|
660
|
+
return { type: 'string', format: 'byte' };
|
|
638
661
|
case 'JSON':
|
|
639
662
|
case 'Json':
|
|
640
663
|
return {};
|
|
@@ -642,26 +665,22 @@ class OpenAPIGenerator {
|
|
|
642
665
|
return this.ref(type.toString(), false);
|
|
643
666
|
}
|
|
644
667
|
}
|
|
645
|
-
|
|
646
|
-
if (isArray) {
|
|
647
|
-
return { type: 'array', items: schema };
|
|
648
|
-
}
|
|
649
|
-
else {
|
|
650
|
-
return schema;
|
|
651
|
-
}
|
|
652
|
-
}
|
|
653
|
-
ref(type, rooted = true) {
|
|
668
|
+
ref(type, rooted = true, description) {
|
|
654
669
|
if (rooted) {
|
|
655
670
|
this.usedComponents.add(type);
|
|
656
671
|
}
|
|
657
|
-
return { $ref: `#/components/schemas/${type}
|
|
658
|
-
}
|
|
659
|
-
array(itemType) {
|
|
660
|
-
return { type: 'array', items: itemType };
|
|
672
|
+
return { $ref: `#/components/schemas/${type}`, description };
|
|
661
673
|
}
|
|
662
|
-
|
|
663
|
-
return {
|
|
674
|
+
response(schema) {
|
|
675
|
+
return {
|
|
676
|
+
type: 'object',
|
|
677
|
+
required: ['data'],
|
|
678
|
+
properties: {
|
|
679
|
+
data: Object.assign(Object.assign({}, schema), { description: 'The Prisma response data serialized with superjson' }),
|
|
680
|
+
meta: this.ref('_Meta', true, 'The superjson serialization metadata for the "data" field'),
|
|
681
|
+
},
|
|
682
|
+
};
|
|
664
683
|
}
|
|
665
684
|
}
|
|
666
|
-
exports.
|
|
667
|
-
//# sourceMappingURL=generator.js.map
|
|
685
|
+
exports.RPCOpenAPIGenerator = RPCOpenAPIGenerator;
|
|
686
|
+
//# sourceMappingURL=rpc-generator.js.map
|