@zenstackhq/openapi 1.0.0-beta.2 → 1.0.0-beta.20

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.
@@ -1,4 +1,4 @@
1
- import { DMMF } from '@prisma/generator-helper';
1
+ import type { DMMF } from '@prisma/generator-helper';
2
2
  import { PluginOptions } from '@zenstackhq/sdk';
3
3
  import { Model } from '@zenstackhq/sdk/ast';
4
4
  import type { OpenAPIV3_1 as OAPI } from 'openapi-types';
package/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { DMMF } from '@prisma/generator-helper';
1
+ import type { DMMF } from '@prisma/generator-helper';
2
2
  import { PluginOptions } from '@zenstackhq/sdk';
3
3
  import { Model } from '@zenstackhq/sdk/ast';
4
4
  export declare const name = "OpenAPI";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zenstackhq/openapi",
3
3
  "displayName": "ZenStack Plugin and Runtime for OpenAPI",
4
- "version": "1.0.0-beta.2",
4
+ "version": "1.0.0-beta.20",
5
5
  "description": "ZenStack plugin and runtime supporting OpenAPI",
6
6
  "main": "index.js",
7
7
  "repository": {
@@ -16,22 +16,22 @@
16
16
  "author": "ZenStack Team",
17
17
  "license": "MIT",
18
18
  "dependencies": {
19
- "@prisma/generator-helper": "^4.7.1",
19
+ "@prisma/generator-helper": "^5.0.0",
20
20
  "change-case": "^4.1.2",
21
21
  "lower-case-first": "^2.0.2",
22
22
  "openapi-types": "^12.1.0",
23
23
  "tiny-invariant": "^1.3.1",
24
+ "upper-case-first": "^2.0.2",
24
25
  "yaml": "^2.2.1",
25
26
  "zod": "3.21.1",
26
27
  "zod-validation-error": "^0.2.1",
27
- "@zenstackhq/sdk": "1.0.0-beta.2",
28
- "@zenstackhq/runtime": "1.0.0-beta.2"
28
+ "@zenstackhq/runtime": "1.0.0-beta.20",
29
+ "@zenstackhq/sdk": "1.0.0-beta.20"
29
30
  },
30
31
  "devDependencies": {
31
- "@prisma/internals": "^4.7.1",
32
32
  "@readme/openapi-parser": "^2.4.0",
33
33
  "@types/jest": "^29.5.0",
34
- "@types/lower-case-first": "^1.0.1",
34
+ "@types/node": "^18.0.0",
35
35
  "@types/pluralize": "^0.0.29",
36
36
  "@types/tmp": "^0.2.3",
37
37
  "@typescript-eslint/eslint-plugin": "^5.54.0",
@@ -44,12 +44,12 @@
44
44
  "tmp": "^0.2.1",
45
45
  "ts-jest": "^29.0.5",
46
46
  "typescript": "^4.9.5",
47
- "@zenstackhq/testtools": "1.0.0-beta.2",
48
- "zenstack": "1.0.0-beta.2"
47
+ "zenstack": "1.0.0-beta.20",
48
+ "@zenstackhq/testtools": "1.0.0-beta.20"
49
49
  },
50
50
  "scripts": {
51
51
  "clean": "rimraf dist",
52
- "build": "pnpm lint && pnpm clean && tsc && copyfiles ./package.json ./README.md ./LICENSE dist && copyfiles -u 1 ./src/plugin.zmodel dist",
52
+ "build": "pnpm lint && pnpm clean && tsc && copyfiles ./package.json ./README.md ./LICENSE dist && copyfiles -u 1 ./src/plugin.zmodel dist && pnpm pack dist --pack-destination '../../../../.build'",
53
53
  "watch": "tsc --watch",
54
54
  "lint": "eslint src --ext ts",
55
55
  "test": "jest"
package/rest-generator.js CHANGED
@@ -454,12 +454,16 @@ class RESTfulOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
454
454
  required: ['version'],
455
455
  properties: {
456
456
  version: { type: 'string' },
457
- meta: this.ref('_meta'),
458
457
  },
459
458
  },
460
459
  _meta: {
461
460
  type: 'object',
462
- description: 'Meta information about the response',
461
+ description: 'Meta information about the request or response',
462
+ properties: {
463
+ serialization: {
464
+ description: 'Superjson serialization metadata',
465
+ },
466
+ },
463
467
  additionalProperties: true,
464
468
  },
465
469
  _resourceIdentifier: {
@@ -661,13 +665,14 @@ class RESTfulOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
661
665
  required: ['data'],
662
666
  properties: {
663
667
  data: this.generateModelEntity(model, 'create'),
668
+ meta: this.ref('_meta'),
664
669
  },
665
670
  };
666
671
  result[`${model.name}UpdateRequest`] = {
667
672
  type: 'object',
668
673
  description: `Input for updating a "${model.name}"`,
669
674
  required: ['data'],
670
- properties: { data: this.generateModelEntity(model, 'update') },
675
+ properties: { data: this.generateModelEntity(model, 'update'), meta: this.ref('_meta') },
671
676
  };
672
677
  const relationships = {};
673
678
  for (const field of model.fields) {
@@ -690,6 +695,7 @@ class RESTfulOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
690
695
  type: 'object',
691
696
  properties: { relationships: { type: 'object', properties: relationships } },
692
697
  }),
698
+ meta: this.ref('_meta'),
693
699
  included: {
694
700
  type: 'array',
695
701
  items: this.ref('_resource'),
@@ -707,6 +713,7 @@ class RESTfulOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
707
713
  type: 'object',
708
714
  properties: { relationships: { type: 'object', properties: relationships } },
709
715
  })),
716
+ meta: this.ref('_meta'),
710
717
  included: {
711
718
  type: 'array',
712
719
  items: this.ref('_resource'),
@@ -782,14 +789,17 @@ class RESTfulOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
782
789
  case 'BigInt':
783
790
  return { type: 'integer' };
784
791
  case 'Float':
785
- case 'Decimal':
786
792
  return { type: 'number' };
793
+ case 'Decimal':
794
+ return this.oneOf({ type: 'number' }, { type: 'string' });
787
795
  case 'Boolean':
788
796
  return { type: 'boolean' };
789
797
  case 'DateTime':
790
798
  return { type: 'string', format: 'date-time' };
799
+ case 'Bytes':
800
+ return { type: 'string', format: 'byte', description: 'Base64 encoded byte array' };
791
801
  case 'Json':
792
- return { type: 'object' };
802
+ return {};
793
803
  default: {
794
804
  const fieldDecl = (_a = type.reference) === null || _a === void 0 ? void 0 : _a.ref;
795
805
  (0, tiny_invariant_1.default)(fieldDecl);
@@ -1 +1 @@
1
- {"version":3,"file":"rest-generator.js","sourceRoot":"","sources":["../src/rest-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest-generator.js","sourceRoot":"","sources":["../src/rest-generator.ts"],"names":[],"mappings":"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"}
@@ -23,4 +23,5 @@ export declare class RPCOpenAPIGenerator extends OpenAPIGeneratorBase {
23
23
  private setOutputRequired;
24
24
  private prismaTypeToOpenAPIType;
25
25
  private ref;
26
+ private response;
26
27
  }
package/rpc-generator.js CHANGED
@@ -35,6 +35,7 @@ const fs = __importStar(require("fs"));
35
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
+ const upper_case_first_1 = require("upper-case-first");
38
39
  const yaml_1 = __importDefault(require("yaml"));
39
40
  const generator_base_1 = require("./generator-base");
40
41
  const meta_1 = require("./meta");
@@ -122,6 +123,7 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
122
123
  this.warnings.push(`Unable to find mapping for model ${model.name}`);
123
124
  return undefined;
124
125
  }
126
+ const modelName = (0, upper_case_first_1.upperCaseFirst)(model.name);
125
127
  const definitions = [];
126
128
  const hasRelation = zmodel.fields.some((f) => { var _a; return (0, ast_1.isDataModel)((_a = f.type.reference) === null || _a === void 0 ? void 0 : _a.ref); });
127
129
  // analyze access policies to determine default security
@@ -130,16 +132,18 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
130
132
  definitions.push({
131
133
  method: 'post',
132
134
  operation: 'create',
133
- inputType: this.component(`${model.name}CreateArgs`, {
135
+ inputType: this.component(`${modelName}CreateArgs`, {
134
136
  type: 'object',
137
+ required: ['data'],
135
138
  properties: {
136
- select: this.ref(`${model.name}Select`),
137
- include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
138
- data: this.ref(`${model.name}CreateInput`),
139
+ select: this.ref(`${modelName}Select`),
140
+ include: hasRelation ? this.ref(`${modelName}Include`) : undefined,
141
+ data: this.ref(`${modelName}CreateInput`),
142
+ meta: this.ref('_Meta'),
139
143
  },
140
144
  }, components),
141
- outputType: this.ref(model.name),
142
- description: `Create a new ${model.name}`,
145
+ outputType: this.response(this.ref(modelName)),
146
+ description: `Create a new ${modelName}`,
143
147
  successCode: 201,
144
148
  security: create === true ? [] : undefined,
145
149
  });
@@ -148,14 +152,16 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
148
152
  definitions.push({
149
153
  method: 'post',
150
154
  operation: 'createMany',
151
- inputType: this.component(`${model.name}CreateManyArgs`, {
155
+ inputType: this.component(`${modelName}CreateManyArgs`, {
152
156
  type: 'object',
157
+ required: ['data'],
153
158
  properties: {
154
- data: this.ref(`${model.name}CreateManyInput`),
159
+ data: this.ref(`${modelName}CreateManyInput`),
160
+ meta: this.ref('_Meta'),
155
161
  },
156
162
  }, components),
157
- outputType: this.ref('BatchPayload'),
158
- description: `Create several ${model.name}`,
163
+ outputType: this.response(this.ref('BatchPayload')),
164
+ description: `Create several ${modelName}`,
159
165
  successCode: 201,
160
166
  security: create === true ? [] : undefined,
161
167
  });
@@ -164,16 +170,18 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
164
170
  definitions.push({
165
171
  method: 'get',
166
172
  operation: 'findUnique',
167
- inputType: this.component(`${model.name}FindUniqueArgs`, {
173
+ inputType: this.component(`${modelName}FindUniqueArgs`, {
168
174
  type: 'object',
175
+ required: ['where'],
169
176
  properties: {
170
- select: this.ref(`${model.name}Select`),
171
- include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
172
- where: this.ref(`${model.name}WhereUniqueInput`),
177
+ select: this.ref(`${modelName}Select`),
178
+ include: hasRelation ? this.ref(`${modelName}Include`) : undefined,
179
+ where: this.ref(`${modelName}WhereUniqueInput`),
180
+ meta: this.ref('_Meta'),
173
181
  },
174
182
  }, components),
175
- outputType: this.ref(model.name),
176
- description: `Find one unique ${model.name}`,
183
+ outputType: this.response(this.ref(modelName)),
184
+ description: `Find one unique ${modelName}`,
177
185
  security: read === true ? [] : undefined,
178
186
  });
179
187
  }
@@ -181,16 +189,17 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
181
189
  definitions.push({
182
190
  method: 'get',
183
191
  operation: 'findFirst',
184
- inputType: this.component(`${model.name}FindFirstArgs`, {
192
+ inputType: this.component(`${modelName}FindFirstArgs`, {
185
193
  type: 'object',
186
194
  properties: {
187
- select: this.ref(`${model.name}Select`),
188
- include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
189
- where: this.ref(`${model.name}WhereInput`),
195
+ select: this.ref(`${modelName}Select`),
196
+ include: hasRelation ? this.ref(`${modelName}Include`) : undefined,
197
+ where: this.ref(`${modelName}WhereInput`),
198
+ meta: this.ref('_Meta'),
190
199
  },
191
200
  }, components),
192
- outputType: this.ref(model.name),
193
- description: `Find the first ${model.name} matching the given condition`,
201
+ outputType: this.response(this.ref(modelName)),
202
+ description: `Find the first ${modelName} matching the given condition`,
194
203
  security: read === true ? [] : undefined,
195
204
  });
196
205
  }
@@ -198,16 +207,17 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
198
207
  definitions.push({
199
208
  method: 'get',
200
209
  operation: 'findMany',
201
- inputType: this.component(`${model.name}FindManyArgs`, {
210
+ inputType: this.component(`${modelName}FindManyArgs`, {
202
211
  type: 'object',
203
212
  properties: {
204
- select: this.ref(`${model.name}Select`),
205
- include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
206
- where: this.ref(`${model.name}WhereInput`),
213
+ select: this.ref(`${modelName}Select`),
214
+ include: hasRelation ? this.ref(`${modelName}Include`) : undefined,
215
+ where: this.ref(`${modelName}WhereInput`),
216
+ meta: this.ref('_Meta'),
207
217
  },
208
218
  }, components),
209
- outputType: this.array(this.ref(model.name)),
210
- description: `Find a list of ${model.name}`,
219
+ outputType: this.response(this.array(this.ref(modelName))),
220
+ description: `Find a list of ${modelName}`,
211
221
  security: read === true ? [] : undefined,
212
222
  });
213
223
  }
@@ -215,17 +225,19 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
215
225
  definitions.push({
216
226
  method: 'patch',
217
227
  operation: 'update',
218
- inputType: this.component(`${model.name}UpdateArgs`, {
228
+ inputType: this.component(`${modelName}UpdateArgs`, {
219
229
  type: 'object',
230
+ required: ['where', 'data'],
220
231
  properties: {
221
- select: this.ref(`${model.name}Select`),
222
- include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
223
- where: this.ref(`${model.name}WhereUniqueInput`),
224
- data: this.ref(`${model.name}UpdateInput`),
232
+ select: this.ref(`${modelName}Select`),
233
+ include: hasRelation ? this.ref(`${modelName}Include`) : undefined,
234
+ where: this.ref(`${modelName}WhereUniqueInput`),
235
+ data: this.ref(`${modelName}UpdateInput`),
236
+ meta: this.ref('_Meta'),
225
237
  },
226
238
  }, components),
227
- outputType: this.ref(model.name),
228
- description: `Update a ${model.name}`,
239
+ outputType: this.response(this.ref(modelName)),
240
+ description: `Update a ${modelName}`,
229
241
  security: update === true ? [] : undefined,
230
242
  });
231
243
  }
@@ -233,15 +245,17 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
233
245
  definitions.push({
234
246
  operation: 'updateMany',
235
247
  method: 'patch',
236
- inputType: this.component(`${model.name}UpdateManyArgs`, {
248
+ inputType: this.component(`${modelName}UpdateManyArgs`, {
237
249
  type: 'object',
250
+ required: ['data'],
238
251
  properties: {
239
- where: this.ref(`${model.name}WhereInput`),
240
- data: this.ref(`${model.name}UpdateManyMutationInput`),
252
+ where: this.ref(`${modelName}WhereInput`),
253
+ data: this.ref(`${modelName}UpdateManyMutationInput`),
254
+ meta: this.ref('_Meta'),
241
255
  },
242
256
  }, components),
243
- outputType: this.ref('BatchPayload'),
244
- description: `Update ${model.name}s matching the given condition`,
257
+ outputType: this.response(this.ref('BatchPayload')),
258
+ description: `Update ${modelName}s matching the given condition`,
245
259
  security: update === true ? [] : undefined,
246
260
  });
247
261
  }
@@ -249,18 +263,20 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
249
263
  definitions.push({
250
264
  method: 'post',
251
265
  operation: 'upsert',
252
- inputType: this.component(`${model.name}UpsertArgs`, {
266
+ inputType: this.component(`${modelName}UpsertArgs`, {
253
267
  type: 'object',
268
+ required: ['create', 'update', 'where'],
254
269
  properties: {
255
- select: this.ref(`${model.name}Select`),
256
- include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
257
- where: this.ref(`${model.name}WhereUniqueInput`),
258
- create: this.ref(`${model.name}CreateInput`),
259
- update: this.ref(`${model.name}UpdateInput`),
270
+ select: this.ref(`${modelName}Select`),
271
+ include: hasRelation ? this.ref(`${modelName}Include`) : undefined,
272
+ where: this.ref(`${modelName}WhereUniqueInput`),
273
+ create: this.ref(`${modelName}CreateInput`),
274
+ update: this.ref(`${modelName}UpdateInput`),
275
+ meta: this.ref('_Meta'),
260
276
  },
261
277
  }, components),
262
- outputType: this.ref(model.name),
263
- description: `Upsert a ${model.name}`,
278
+ outputType: this.response(this.ref(modelName)),
279
+ description: `Upsert a ${modelName}`,
264
280
  security: create === true && update == true ? [] : undefined,
265
281
  });
266
282
  }
@@ -268,16 +284,18 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
268
284
  definitions.push({
269
285
  method: 'delete',
270
286
  operation: 'delete',
271
- inputType: this.component(`${model.name}DeleteUniqueArgs`, {
287
+ inputType: this.component(`${modelName}DeleteUniqueArgs`, {
272
288
  type: 'object',
289
+ required: ['where'],
273
290
  properties: {
274
- select: this.ref(`${model.name}Select`),
275
- include: hasRelation ? this.ref(`${model.name}Include`) : undefined,
276
- where: this.ref(`${model.name}WhereUniqueInput`),
291
+ select: this.ref(`${modelName}Select`),
292
+ include: hasRelation ? this.ref(`${modelName}Include`) : undefined,
293
+ where: this.ref(`${modelName}WhereUniqueInput`),
294
+ meta: this.ref('_Meta'),
277
295
  },
278
296
  }, components),
279
- outputType: this.ref(model.name),
280
- description: `Delete one unique ${model.name}`,
297
+ outputType: this.response(this.ref(modelName)),
298
+ description: `Delete one unique ${modelName}`,
281
299
  security: del === true ? [] : undefined,
282
300
  });
283
301
  }
@@ -285,14 +303,15 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
285
303
  definitions.push({
286
304
  method: 'delete',
287
305
  operation: 'deleteMany',
288
- inputType: this.component(`${model.name}DeleteManyArgs`, {
306
+ inputType: this.component(`${modelName}DeleteManyArgs`, {
289
307
  type: 'object',
290
308
  properties: {
291
- where: this.ref(`${model.name}WhereInput`),
309
+ where: this.ref(`${modelName}WhereInput`),
310
+ meta: this.ref('_Meta'),
292
311
  },
293
312
  }, components),
294
- outputType: this.ref('BatchPayload'),
295
- description: `Delete ${model.name}s matching the given condition`,
313
+ outputType: this.response(this.ref('BatchPayload')),
314
+ description: `Delete ${modelName}s matching the given condition`,
296
315
  security: del === true ? [] : undefined,
297
316
  });
298
317
  }
@@ -300,27 +319,28 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
300
319
  definitions.push({
301
320
  method: 'get',
302
321
  operation: 'count',
303
- inputType: this.component(`${model.name}CountArgs`, {
322
+ inputType: this.component(`${modelName}CountArgs`, {
304
323
  type: 'object',
305
324
  properties: {
306
- select: this.ref(`${model.name}Select`),
307
- where: this.ref(`${model.name}WhereInput`),
325
+ select: this.ref(`${modelName}Select`),
326
+ where: this.ref(`${modelName}WhereInput`),
327
+ meta: this.ref('_Meta'),
308
328
  },
309
329
  }, components),
310
- outputType: this.oneOf({ type: 'integer' }, this.ref(`${model.name}CountAggregateOutputType`)),
311
- description: `Find a list of ${model.name}`,
330
+ outputType: this.response(this.oneOf({ type: 'integer' }, this.ref(`${modelName}CountAggregateOutputType`))),
331
+ description: `Find a list of ${modelName}`,
312
332
  security: read === true ? [] : undefined,
313
333
  });
314
334
  if (ops['aggregate']) {
315
335
  definitions.push({
316
336
  method: 'get',
317
337
  operation: 'aggregate',
318
- inputType: this.component(`${model.name}AggregateArgs`, {
338
+ inputType: this.component(`${modelName}AggregateArgs`, {
319
339
  type: 'object',
320
- 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)),
340
+ properties: Object.assign(Object.assign({ where: this.ref(`${modelName}WhereInput`), orderBy: this.ref(`${modelName}OrderByWithRelationInput`), cursor: this.ref(`${modelName}WhereUniqueInput`), take: { type: 'integer' }, skip: { type: 'integer' } }, this.aggregateFields(model)), { meta: this.ref('_Meta') }),
321
341
  }, components),
322
- outputType: this.ref(`Aggregate${model.name}`),
323
- description: `Aggregate ${model.name}s`,
342
+ outputType: this.response(this.ref(`Aggregate${modelName}`)),
343
+ description: `Aggregate ${modelName}s`,
324
344
  security: read === true ? [] : undefined,
325
345
  });
326
346
  }
@@ -328,12 +348,12 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
328
348
  definitions.push({
329
349
  method: 'get',
330
350
  operation: 'groupBy',
331
- inputType: this.component(`${model.name}GroupByArgs`, {
351
+ inputType: this.component(`${modelName}GroupByArgs`, {
332
352
  type: 'object',
333
- 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)),
353
+ properties: Object.assign(Object.assign({ where: this.ref(`${modelName}WhereInput`), orderBy: this.ref(`${modelName}OrderByWithRelationInput`), by: this.ref(`${modelName}ScalarFieldEnum`), having: this.ref(`${modelName}ScalarWhereWithAggregatesInput`), take: { type: 'integer' }, skip: { type: 'integer' } }, this.aggregateFields(model)), { meta: this.ref('_Meta') }),
334
354
  }, components),
335
- outputType: this.array(this.ref(`${model.name}GroupByOutputType`)),
336
- description: `Group ${model.name}s by fields`,
355
+ outputType: this.response(this.array(this.ref(`${modelName}GroupByOutputType`))),
356
+ description: `Group ${modelName}s by fields`,
337
357
  security: read === true ? [] : undefined,
338
358
  });
339
359
  }
@@ -355,7 +375,7 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
355
375
  }
356
376
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
357
377
  const def = {
358
- operationId: `${operation}${model.name}`,
378
+ operationId: `${operation}${modelName}`,
359
379
  description: (_c = meta === null || meta === void 0 ? void 0 : meta.description) !== null && _c !== void 0 ? _c : description,
360
380
  tags: (meta === null || meta === void 0 ? void 0 : meta.tags) || [(0, lower_case_first_1.lowerCaseFirst)(model.name)],
361
381
  summary: meta === null || meta === void 0 ? void 0 : meta.summary,
@@ -372,9 +392,19 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
372
392
  },
373
393
  },
374
394
  '400': {
395
+ content: {
396
+ 'application/json': {
397
+ schema: this.ref('_Error'),
398
+ },
399
+ },
375
400
  description: 'Invalid request',
376
401
  },
377
402
  '403': {
403
+ content: {
404
+ 'application/json': {
405
+ schema: this.ref('_Error'),
406
+ },
407
+ },
378
408
  description: 'Request is forbidden',
379
409
  },
380
410
  },
@@ -395,12 +425,23 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
395
425
  name: 'q',
396
426
  in: 'query',
397
427
  required: true,
428
+ description: 'Superjson-serialized Prisma query object',
398
429
  content: {
399
430
  'application/json': {
400
431
  schema: inputType,
401
432
  },
402
433
  },
403
434
  },
435
+ {
436
+ name: 'meta',
437
+ in: 'query',
438
+ description: 'Superjson serialization metadata for parameter "q"',
439
+ content: {
440
+ 'application/json': {
441
+ schema: {},
442
+ },
443
+ },
444
+ },
404
445
  ];
405
446
  }
406
447
  }
@@ -416,21 +457,22 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
416
457
  aggregateFields(model) {
417
458
  const result = {};
418
459
  const supportedOps = this.aggregateOperationSupport[model.name];
460
+ const modelName = (0, upper_case_first_1.upperCaseFirst)(model.name);
419
461
  if (supportedOps) {
420
462
  if (supportedOps.count) {
421
- result._count = this.oneOf({ type: 'boolean' }, this.ref(`${model.name}CountAggregateInput`));
463
+ result._count = this.oneOf({ type: 'boolean' }, this.ref(`${modelName}CountAggregateInput`));
422
464
  }
423
465
  if (supportedOps.min) {
424
- result._min = this.ref(`${model.name}MinAggregateInput`);
466
+ result._min = this.ref(`${modelName}MinAggregateInput`);
425
467
  }
426
468
  if (supportedOps.max) {
427
- result._max = this.ref(`${model.name}MaxAggregateInput`);
469
+ result._max = this.ref(`${modelName}MaxAggregateInput`);
428
470
  }
429
471
  if (supportedOps.sum) {
430
- result._sum = this.ref(`${model.name}SumAggregateInput`);
472
+ result._sum = this.ref(`${modelName}SumAggregateInput`);
431
473
  }
432
474
  if (supportedOps.avg) {
433
- result._avg = this.ref(`${model.name}AvgAggregateInput`);
475
+ result._avg = this.ref(`${modelName}AvgAggregateInput`);
434
476
  }
435
477
  }
436
478
  return result;
@@ -448,18 +490,66 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
448
490
  };
449
491
  // user-defined and built-in enums
450
492
  for (const _enum of [...((_a = this.dmmf.schema.enumTypes.model) !== null && _a !== void 0 ? _a : []), ...this.dmmf.schema.enumTypes.prisma]) {
451
- schemas[_enum.name] = this.generateEnumComponent(_enum);
493
+ schemas[(0, upper_case_first_1.upperCaseFirst)(_enum.name)] = this.generateEnumComponent(_enum);
452
494
  }
453
495
  // data models
454
496
  for (const model of this.dmmf.datamodel.models) {
455
- schemas[model.name] = this.generateEntityComponent(model);
497
+ schemas[(0, upper_case_first_1.upperCaseFirst)(model.name)] = this.generateEntityComponent(model);
456
498
  }
457
499
  for (const input of this.inputObjectTypes) {
458
- schemas[input.name] = this.generateInputComponent(input);
500
+ schemas[(0, upper_case_first_1.upperCaseFirst)(input.name)] = this.generateInputComponent(input);
459
501
  }
460
502
  for (const output of this.outputObjectTypes.filter((t) => !['Query', 'Mutation'].includes(t.name))) {
461
- schemas[output.name] = this.generateOutputComponent(output);
503
+ schemas[(0, upper_case_first_1.upperCaseFirst)(output.name)] = this.generateOutputComponent(output);
462
504
  }
505
+ schemas['_Meta'] = {
506
+ type: 'object',
507
+ properties: {
508
+ meta: {
509
+ type: 'object',
510
+ description: 'Meta information about the request or response',
511
+ properties: {
512
+ serialization: {
513
+ description: 'Serialization metadata',
514
+ },
515
+ },
516
+ additionalProperties: true,
517
+ },
518
+ },
519
+ };
520
+ schemas['_Error'] = {
521
+ type: 'object',
522
+ required: ['error'],
523
+ properties: {
524
+ error: {
525
+ type: 'object',
526
+ required: ['message'],
527
+ properties: {
528
+ prisma: {
529
+ type: 'boolean',
530
+ description: 'Indicates if the error occurred during a Prisma call',
531
+ },
532
+ rejectedByPolicy: {
533
+ type: 'boolean',
534
+ description: 'Indicates if the error was due to rejection by a policy',
535
+ },
536
+ code: {
537
+ type: 'string',
538
+ description: 'Prisma error code. Only available when "prisma" field is true.',
539
+ },
540
+ message: {
541
+ type: 'string',
542
+ description: 'Error message',
543
+ },
544
+ reason: {
545
+ type: 'string',
546
+ description: 'Detailed error reason',
547
+ },
548
+ },
549
+ additionalProperties: true,
550
+ },
551
+ },
552
+ };
463
553
  // misc types
464
554
  schemas['BatchPayload'] = {
465
555
  type: 'object',
@@ -508,7 +598,9 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
508
598
  const fields = input.fields.filter((f) => !sdk_1.AUXILIARY_FIELDS.includes(f.name));
509
599
  for (const field of fields) {
510
600
  const options = field.inputTypes
511
- .filter((f) => f.type !== 'Null')
601
+ .filter((f) => f.type !== 'Null' &&
602
+ // fieldRefTypes refer to other fields in the model and don't need to be generated as part of schema
603
+ f.location !== 'fieldRefTypes')
512
604
  .map((f) => {
513
605
  return this.wrapArray(this.prismaTypeToOpenAPIType(f.type), f.isList);
514
606
  });
@@ -559,13 +651,16 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
559
651
  case 'BigInt':
560
652
  return { type: 'integer' };
561
653
  case 'Float':
562
- case 'Decimal':
563
654
  return { type: 'number' };
655
+ case 'Decimal':
656
+ return this.oneOf({ type: 'string' }, { type: 'number' });
564
657
  case 'Boolean':
565
658
  case 'True':
566
659
  return { type: 'boolean' };
567
660
  case 'DateTime':
568
661
  return { type: 'string', format: 'date-time' };
662
+ case 'Bytes':
663
+ return { type: 'string', format: 'byte' };
569
664
  case 'JSON':
570
665
  case 'Json':
571
666
  return {};
@@ -573,11 +668,21 @@ class RPCOpenAPIGenerator extends generator_base_1.OpenAPIGeneratorBase {
573
668
  return this.ref(type.toString(), false);
574
669
  }
575
670
  }
576
- ref(type, rooted = true) {
671
+ ref(type, rooted = true, description) {
577
672
  if (rooted) {
578
673
  this.usedComponents.add(type);
579
674
  }
580
- return { $ref: `#/components/schemas/${type}` };
675
+ return { $ref: `#/components/schemas/${(0, upper_case_first_1.upperCaseFirst)(type)}`, description };
676
+ }
677
+ response(schema) {
678
+ return {
679
+ type: 'object',
680
+ required: ['data'],
681
+ properties: {
682
+ data: Object.assign(Object.assign({}, schema), { description: 'The Prisma response data serialized with superjson' }),
683
+ meta: this.ref('_Meta', true, 'The superjson serialization metadata for the "data" field'),
684
+ },
685
+ };
581
686
  }
582
687
  }
583
688
  exports.RPCOpenAPIGenerator = RPCOpenAPIGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-generator.js","sourceRoot":"","sources":["../src/rpc-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-generator.js","sourceRoot":"","sources":["../src/rpc-generator.ts"],"names":[],"mappings":"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"}