@zenstackhq/openapi 1.0.0-alpha.60 → 1.0.0-alpha.71

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.js CHANGED
@@ -34,6 +34,8 @@ const fs = __importStar(require("fs"));
34
34
  const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
35
35
  // TODO: move these to SDK
36
36
  const dmmf_helpers_1 = require("@zenstackhq/sdk/dmmf-helpers");
37
+ const yaml_1 = __importDefault(require("yaml"));
38
+ const path = __importStar(require("path"));
37
39
  class OpenAPIGenerator {
38
40
  constructor(model, options, dmmf) {
39
41
  this.model = model;
@@ -69,7 +71,13 @@ class OpenAPIGenerator {
69
71
  components,
70
72
  paths,
71
73
  };
72
- fs.writeFileSync(output, JSON.stringify(openapi, undefined, 2));
74
+ const ext = path.extname(output);
75
+ if (ext && (ext.toLowerCase() === '.yaml' || ext.toLowerCase() === '.yml')) {
76
+ fs.writeFileSync(output, yaml_1.default.stringify(openapi));
77
+ }
78
+ else {
79
+ fs.writeFileSync(output, JSON.stringify(openapi, undefined, 2));
80
+ }
73
81
  }
74
82
  pruneComponents(components) {
75
83
  const schemas = components.schemas;
@@ -137,9 +145,9 @@ class OpenAPIGenerator {
137
145
  if (!ops) {
138
146
  throw new sdk_1.PluginError(`No operations found for model ${model.name}`);
139
147
  }
140
- const definitions = [
141
- {
142
- key: 'createOne',
148
+ const definitions = [];
149
+ if (ops['createOne']) {
150
+ definitions.push({
143
151
  method: 'post',
144
152
  operation: 'create',
145
153
  inputType: this.component(`${model.name}CreateArgs`, {
@@ -153,10 +161,12 @@ class OpenAPIGenerator {
153
161
  outputType: this.ref(model.name),
154
162
  description: `Create a new ${model.name}`,
155
163
  successCode: 201,
156
- },
157
- {
158
- key: 'createMany',
164
+ });
165
+ }
166
+ if (ops['createMany']) {
167
+ definitions.push({
159
168
  method: 'post',
169
+ operation: 'createMany',
160
170
  inputType: this.component(`${model.name}CreateManyArgs`, {
161
171
  type: 'object',
162
172
  properties: {
@@ -166,10 +176,12 @@ class OpenAPIGenerator {
166
176
  outputType: this.ref('BatchPayload'),
167
177
  description: `Create several ${model.name}`,
168
178
  successCode: 201,
169
- },
170
- {
171
- key: 'findUnique',
179
+ });
180
+ }
181
+ if (ops['findUnique']) {
182
+ definitions.push({
172
183
  method: 'get',
184
+ operation: 'findUnique',
173
185
  inputType: this.component(`${model.name}FindUniqueArgs`, {
174
186
  type: 'object',
175
187
  properties: {
@@ -180,10 +192,12 @@ class OpenAPIGenerator {
180
192
  }, components),
181
193
  outputType: this.ref(model.name),
182
194
  description: `Find one unique ${model.name}`,
183
- },
184
- {
185
- key: 'findFirst',
195
+ });
196
+ }
197
+ if (ops['findFirst']) {
198
+ definitions.push({
186
199
  method: 'get',
200
+ operation: 'findFirst',
187
201
  inputType: this.component(`${model.name}FindFirstArgs`, {
188
202
  type: 'object',
189
203
  properties: {
@@ -194,10 +208,12 @@ class OpenAPIGenerator {
194
208
  }, components),
195
209
  outputType: this.ref(model.name),
196
210
  description: `Find the first ${model.name} matching the given condition`,
197
- },
198
- {
199
- key: 'findMany',
211
+ });
212
+ }
213
+ if (ops['findMany']) {
214
+ definitions.push({
200
215
  method: 'get',
216
+ operation: 'findMany',
201
217
  inputType: this.component(`${model.name}FindManyArgs`, {
202
218
  type: 'object',
203
219
  properties: {
@@ -208,9 +224,10 @@ class OpenAPIGenerator {
208
224
  }, components),
209
225
  outputType: this.array(this.ref(model.name)),
210
226
  description: `Find a list of ${model.name}`,
211
- },
212
- {
213
- key: 'updateOne',
227
+ });
228
+ }
229
+ if (ops['updateOne']) {
230
+ definitions.push({
214
231
  method: 'patch',
215
232
  operation: 'update',
216
233
  inputType: this.component(`${model.name}UpdateArgs`, {
@@ -224,9 +241,11 @@ class OpenAPIGenerator {
224
241
  }, components),
225
242
  outputType: this.ref(model.name),
226
243
  description: `Update a ${model.name}`,
227
- },
228
- {
229
- key: 'updateMany',
244
+ });
245
+ }
246
+ if (ops['updateMany']) {
247
+ definitions.push({
248
+ operation: 'updateMany',
230
249
  method: 'patch',
231
250
  inputType: this.component(`${model.name}UpdateManyArgs`, {
232
251
  type: 'object',
@@ -237,9 +256,10 @@ class OpenAPIGenerator {
237
256
  }, components),
238
257
  outputType: this.ref('BatchPayload'),
239
258
  description: `Update ${model.name}s matching the given condition`,
240
- },
241
- {
242
- key: 'upsertOne',
259
+ });
260
+ }
261
+ if (ops['upsertOne']) {
262
+ definitions.push({
243
263
  method: 'post',
244
264
  operation: 'upsert',
245
265
  inputType: this.component(`${model.name}UpsertArgs`, {
@@ -254,10 +274,12 @@ class OpenAPIGenerator {
254
274
  }, components),
255
275
  outputType: this.ref(model.name),
256
276
  description: `Upsert a ${model.name}`,
257
- },
258
- {
259
- key: 'deleteOne',
277
+ });
278
+ }
279
+ if (ops['deleteOne']) {
280
+ definitions.push({
260
281
  method: 'delete',
282
+ operation: 'delete',
261
283
  inputType: this.component(`${model.name}DeleteUniqueArgs`, {
262
284
  type: 'object',
263
285
  properties: {
@@ -268,10 +290,12 @@ class OpenAPIGenerator {
268
290
  }, components),
269
291
  outputType: this.ref(model.name),
270
292
  description: `Delete one unique ${model.name}`,
271
- },
272
- {
273
- key: 'deleteMany',
293
+ });
294
+ }
295
+ if (ops['deleteMany']) {
296
+ definitions.push({
274
297
  method: 'delete',
298
+ operation: 'deleteMany',
275
299
  inputType: this.component(`${model.name}DeleteManyArgs`, {
276
300
  type: 'object',
277
301
  properties: {
@@ -280,90 +304,92 @@ class OpenAPIGenerator {
280
304
  }, components),
281
305
  outputType: this.ref('BatchPayload'),
282
306
  description: `Delete ${model.name}s matching the given condition`,
283
- },
284
- {
285
- key: 'count',
286
- method: 'get',
287
- inputType: this.component(`${model.name}CountArgs`, {
288
- type: 'object',
289
- properties: {
290
- select: this.ref(`${model.name}Select`),
291
- where: this.ref(`${model.name}WhereInput`),
292
- },
293
- }, components),
294
- outputType: this.oneOf({ type: 'integer' }, this.ref(`${model.name}CountAggregateOutputType`)),
295
- description: `Find a list of ${model.name}`,
296
- },
297
- {
298
- key: 'aggregate',
307
+ });
308
+ }
309
+ // somehow dmmf doesn't contain "count" operation, so we unconditionally add it here
310
+ definitions.push({
311
+ method: 'get',
312
+ operation: 'count',
313
+ inputType: this.component(`${model.name}CountArgs`, {
314
+ type: 'object',
315
+ properties: {
316
+ select: this.ref(`${model.name}Select`),
317
+ where: this.ref(`${model.name}WhereInput`),
318
+ },
319
+ }, components),
320
+ outputType: this.oneOf({ type: 'integer' }, this.ref(`${model.name}CountAggregateOutputType`)),
321
+ description: `Find a list of ${model.name}`,
322
+ });
323
+ if (ops['aggregate']) {
324
+ definitions.push({
299
325
  method: 'get',
326
+ operation: 'aggregate',
300
327
  inputType: this.component(`${model.name}AggregateArgs`, {
301
328
  type: 'object',
302
329
  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)),
303
330
  }, components),
304
331
  outputType: this.ref(`Aggregate${model.name}`),
305
332
  description: `Aggregate ${model.name}s`,
306
- },
307
- {
308
- key: 'groupBy',
333
+ });
334
+ }
335
+ if (ops['groupBy']) {
336
+ definitions.push({
309
337
  method: 'get',
338
+ operation: 'groupBy',
310
339
  inputType: this.component(`${model.name}GroupByArgs`, {
311
340
  type: 'object',
312
341
  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)),
313
342
  }, components),
314
343
  outputType: this.array(this.ref(`${model.name}GroupByOutputType`)),
315
344
  description: `Group ${model.name}s by fields`,
316
- },
317
- ];
318
- for (const { key, method, operation, description, inputType, outputType, successCode } of definitions) {
319
- if (ops[key] || key === 'count' /* prisma operation list doesn't contain 'count' */) {
320
- const op = operation !== null && operation !== void 0 ? operation : key;
321
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
322
- const def = {
323
- operationId: `${op}${model.name}`,
324
- responses: {
325
- [successCode !== undefined ? successCode : '200']: {
326
- description: 'Successful operation',
327
- content: {
328
- 'application/json': {
329
- schema: outputType,
330
- },
345
+ });
346
+ }
347
+ for (const { method, operation, description, inputType, outputType, successCode } of definitions) {
348
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
349
+ const def = {
350
+ operationId: `${operation}${model.name}`,
351
+ responses: {
352
+ [successCode !== undefined ? successCode : '200']: {
353
+ description: 'Successful operation',
354
+ content: {
355
+ 'application/json': {
356
+ schema: outputType,
331
357
  },
332
358
  },
333
- '400': {
334
- description: 'Invalid request',
335
- },
336
- '403': {
337
- description: 'Forbidden',
338
- },
339
359
  },
340
- };
341
- if (inputType) {
342
- if (['post', 'put', 'patch'].includes(method)) {
343
- def.requestBody = {
344
- description,
345
- content: {
346
- 'application/json': {
347
- schema: inputType,
348
- },
349
- },
350
- };
351
- }
352
- else {
353
- def.parameters = [
354
- {
355
- name: 'q',
356
- in: 'query',
357
- required: true,
360
+ '400': {
361
+ description: 'Invalid request',
362
+ },
363
+ '403': {
364
+ description: 'Forbidden',
365
+ },
366
+ },
367
+ };
368
+ if (inputType) {
369
+ if (['post', 'put', 'patch'].includes(method)) {
370
+ def.requestBody = {
371
+ description,
372
+ content: {
373
+ 'application/json': {
358
374
  schema: inputType,
359
375
  },
360
- ];
361
- }
376
+ },
377
+ };
378
+ }
379
+ else {
380
+ def.parameters = [
381
+ {
382
+ name: 'q',
383
+ in: 'query',
384
+ required: true,
385
+ schema: inputType,
386
+ },
387
+ ];
362
388
  }
363
- result[`/${(0, change_case_1.camelCase)(model.name)}/${op}`] = {
364
- [method]: def,
365
- };
366
389
  }
390
+ result[`/${(0, change_case_1.camelCase)(model.name)}/${operation}`] = {
391
+ [method]: def,
392
+ };
367
393
  }
368
394
  return result;
369
395
  }
package/generator.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
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-alpha.60",
4
+ "version": "1.0.0-alpha.71",
5
5
  "description": "ZenStack plugin and runtime supporting OpenAPI",
6
6
  "main": "index.js",
7
7
  "repository": {
@@ -20,8 +20,9 @@
20
20
  "change-case": "^4.1.2",
21
21
  "openapi-types": "^12.1.0",
22
22
  "tiny-invariant": "^1.3.1",
23
- "@zenstackhq/sdk": "1.0.0-alpha.70",
24
- "@zenstackhq/runtime": "1.0.0-alpha.70"
23
+ "yaml": "^2.2.1",
24
+ "@zenstackhq/runtime": "1.0.0-alpha.71",
25
+ "@zenstackhq/sdk": "1.0.0-alpha.71"
25
26
  },
26
27
  "devDependencies": {
27
28
  "@prisma/internals": "^4.7.1",
@@ -36,8 +37,8 @@
36
37
  "tmp": "^0.2.1",
37
38
  "ts-jest": "^29.0.5",
38
39
  "typescript": "^4.9.5",
39
- "@zenstackhq/testtools": "1.0.0-alpha.70",
40
- "zenstack": "1.0.0-alpha.70"
40
+ "@zenstackhq/testtools": "1.0.0-alpha.71",
41
+ "zenstack": "1.0.0-alpha.71"
41
42
  },
42
43
  "scripts": {
43
44
  "clean": "rimraf dist",