vona-module-a-openapi 5.1.25 → 5.1.27
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/dist/bean/bean.openapi.d.ts +2 -1
- package/dist/bean/bean.openapi.d.ts.map +1 -1
- package/dist/index.js +83 -51
- package/dist/index.js.map +1 -1
- package/dist/service/openapi.d.ts +7 -1
- package/dist/service/openapi.d.ts.map +1 -1
- package/dist/types/contract.d.ts +22 -0
- package/dist/types/contract.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/bean/bean.openapi.ts +6 -2
- package/src/service/openapi.ts +107 -48
- package/src/types/contract.ts +25 -0
- package/src/types/index.ts +1 -0
|
@@ -2,6 +2,7 @@ import type { Constructable } from 'vona';
|
|
|
2
2
|
import type { ICachingActionKeyInfo } from 'vona-module-a-caching';
|
|
3
3
|
import type { IOpenapiObject } from 'vona-module-a-openapiutils';
|
|
4
4
|
import { BeanBase } from 'vona';
|
|
5
|
+
import type { IGenerateJsonOfControllerActionOptions } from '../types/contract.ts';
|
|
5
6
|
export declare class BeanOpenapi extends BeanBase {
|
|
6
7
|
clearAllCaches(): Promise<void>;
|
|
7
8
|
generateJsonOfClass<K extends keyof IOpenapiObject>(schemaClass: Constructable, version?: K): Promise<IOpenapiObject[K]>;
|
|
@@ -9,6 +10,6 @@ export declare class BeanOpenapi extends BeanBase {
|
|
|
9
10
|
protected generateJsonCacheKey(info: ICachingActionKeyInfo): string;
|
|
10
11
|
protected generateJsonOfControllerActionCacheKey(info: ICachingActionKeyInfo): string;
|
|
11
12
|
generateJson<K extends keyof IOpenapiObject>(version?: K): Promise<IOpenapiObject[K]>;
|
|
12
|
-
generateJsonOfControllerAction<K extends keyof IOpenapiObject>(controller: Constructable, actionKey: string, version?: K): Promise<IOpenapiObject[K]>;
|
|
13
|
+
generateJsonOfControllerAction<K extends keyof IOpenapiObject>(controller: Constructable, actionKey: string, version?: K, options?: IGenerateJsonOfControllerActionOptions): Promise<IOpenapiObject[K]>;
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=bean.openapi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bean.openapi.d.ts","sourceRoot":"","sources":["../../src/bean/bean.openapi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAe,QAAQ,EAA6B,MAAM,MAAM,CAAC;AAKxE,qBACa,WAAY,SAAQ,QAAQ;IAC1B,cAAc;IAgBrB,mBAAmB,CAAC,CAAC,SAAS,MAAM,cAAc,EACtD,WAAW,EAAE,aAAa,EAC1B,OAAO,GAAE,CAAgB,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAKvB,qBAAqB,CAAC,CAAC,SAAS,MAAM,cAAc,EACxD,aAAa,EAAE,aAAa,EAAE,EAC9B,OAAO,GAAE,CAAgB,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAqB7B,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,qBAAqB;IAM1D,SAAS,CAAC,sCAAsC,CAAC,IAAI,EAAE,qBAAqB;IAStE,YAAY,CAAC,CAAC,SAAS,MAAM,cAAc,EAC/C,OAAO,GAAE,CAAgB,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAevB,8BAA8B,CAAC,CAAC,SAAS,MAAM,cAAc,EACjE,UAAU,EAAE,aAAa,EACzB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,CAAgB,
|
|
1
|
+
{"version":3,"file":"bean.openapi.d.ts","sourceRoot":"","sources":["../../src/bean/bean.openapi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAe,QAAQ,EAA6B,MAAM,MAAM,CAAC;AAKxE,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,sBAAsB,CAAC;AAEnF,qBACa,WAAY,SAAQ,QAAQ;IAC1B,cAAc;IAgBrB,mBAAmB,CAAC,CAAC,SAAS,MAAM,cAAc,EACtD,WAAW,EAAE,aAAa,EAC1B,OAAO,GAAE,CAAgB,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAKvB,qBAAqB,CAAC,CAAC,SAAS,MAAM,cAAc,EACxD,aAAa,EAAE,aAAa,EAAE,EAC9B,OAAO,GAAE,CAAgB,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAqB7B,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,qBAAqB;IAM1D,SAAS,CAAC,sCAAsC,CAAC,IAAI,EAAE,qBAAqB;IAStE,YAAY,CAAC,CAAC,SAAS,MAAM,cAAc,EAC/C,OAAO,GAAE,CAAgB,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAevB,8BAA8B,CAAC,CAAC,SAAS,MAAM,cAAc,EACjE,UAAU,EAAE,aAAa,EACzB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,CAAgB,EACzB,OAAO,GAAE,sCAA2C,GACnD,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CAmB9B"}
|
package/dist/index.js
CHANGED
|
@@ -54,11 +54,11 @@ let BeanOpenapi = class BeanOpenapi extends BeanBase {
|
|
|
54
54
|
return `${info.prop}_${version}_${locale}`;
|
|
55
55
|
}
|
|
56
56
|
generateJsonOfControllerActionCacheKey(info) {
|
|
57
|
-
const [controller, actionKey, version] = info.args;
|
|
57
|
+
const [controller, actionKey, version, options] = info.args;
|
|
58
58
|
const beanOptions = appResource.getBean(controller);
|
|
59
59
|
const beanFullName = beanOptions.beanFullName;
|
|
60
60
|
const locale = this.ctx.locale;
|
|
61
|
-
return `${info.prop}_${beanFullName}_${actionKey}_${version ?? 'V31'}_${locale}`;
|
|
61
|
+
return `${info.prop}_${beanFullName}_${actionKey}_${version ?? 'V31'}_${locale}_${options?.includeExcluded === true}`;
|
|
62
62
|
}
|
|
63
63
|
async generateJson(version = 'V31') {
|
|
64
64
|
const registry = this.scope.service.openapi.collectRegistry();
|
|
@@ -67,11 +67,11 @@ let BeanOpenapi = class BeanOpenapi extends BeanBase {
|
|
|
67
67
|
this.scope.service.openapi.translate(apiObj, 'api');
|
|
68
68
|
return apiObj;
|
|
69
69
|
}
|
|
70
|
-
async generateJsonOfControllerAction(controller, actionKey, version = 'V31') {
|
|
70
|
+
async generateJsonOfControllerAction(controller, actionKey, version = 'V31', options = {}) {
|
|
71
71
|
const registry = new OpenAPIRegistry();
|
|
72
72
|
const beanOptions = appResource.getBean(controller);
|
|
73
73
|
if (!beanOptions) throw new Error('invalid controller');
|
|
74
|
-
this.scope.service.openapi.collectController(registry, beanOptions.module, controller, actionKey);
|
|
74
|
+
this.scope.service.openapi.collectController(registry, beanOptions.module, controller, actionKey, options);
|
|
75
75
|
const generator = version === 'V30' ? new OpenApiGeneratorV3(registry.definitions) : new OpenApiGeneratorV31(registry.definitions);
|
|
76
76
|
const apiObj = generator.generateDocument(this.scope.config.generateDocument[version]);
|
|
77
77
|
this.scope.service.openapi.translate(apiObj, 'rest');
|
|
@@ -85,7 +85,7 @@ __decorate([Caching.get({
|
|
|
85
85
|
__decorate([Caching.get({
|
|
86
86
|
cacheName: 'a-openapi:json',
|
|
87
87
|
cacheKeyFn: 'generateJsonOfControllerActionCacheKey'
|
|
88
|
-
}), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, String, typeof (_b = typeof K !== "undefined" && K) === "function" ? _b : Object]), __metadata("design:returntype", Promise)], BeanOpenapi.prototype, "generateJsonOfControllerAction", null);
|
|
88
|
+
}), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, String, typeof (_b = typeof K !== "undefined" && K) === "function" ? _b : Object, Object]), __metadata("design:returntype", Promise)], BeanOpenapi.prototype, "generateJsonOfControllerAction", null);
|
|
89
89
|
BeanOpenapi = __decorate([Bean(), BeanInfo({
|
|
90
90
|
module: "a-openapi"
|
|
91
91
|
})], BeanOpenapi);
|
|
@@ -206,7 +206,7 @@ let ServiceOpenapi = class ServiceOpenapi extends BeanBase {
|
|
|
206
206
|
}
|
|
207
207
|
return registry;
|
|
208
208
|
}
|
|
209
|
-
collectController(registry, moduleName, controller, actionKey) {
|
|
209
|
+
collectController(registry, moduleName, controller, actionKey, options = {}) {
|
|
210
210
|
// info
|
|
211
211
|
const info = ModuleInfo.parseInfo(moduleName);
|
|
212
212
|
// controller options
|
|
@@ -216,23 +216,30 @@ let ServiceOpenapi = class ServiceOpenapi extends BeanBase {
|
|
|
216
216
|
const controllerOptions = beanOptions.options;
|
|
217
217
|
const controllerPath = controllerOptions.path;
|
|
218
218
|
const controllerOpenApiOptions = appMetadata.getMetadata(SymbolOpenApiOptions, controller);
|
|
219
|
-
if (controllerOpenApiOptions?.exclude) return;
|
|
219
|
+
if (controllerOpenApiOptions?.exclude && !options.includeExcluded) return;
|
|
220
220
|
// descs
|
|
221
221
|
const descs = Object.getOwnPropertyDescriptors(controller.prototype);
|
|
222
222
|
const actionKeys = actionKey ? [actionKey] : Object.keys(descs);
|
|
223
223
|
for (const actionKey of actionKeys) {
|
|
224
|
-
|
|
224
|
+
let desc = descs[actionKey];
|
|
225
|
+
if (actionKey && !desc) {
|
|
226
|
+
let prototype = Object.getPrototypeOf(controller.prototype);
|
|
227
|
+
while (prototype && !desc) {
|
|
228
|
+
desc = Object.getOwnPropertyDescriptor(prototype, actionKey);
|
|
229
|
+
prototype = Object.getPrototypeOf(prototype);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
225
232
|
if (['constructor'].includes(actionKey)) continue;
|
|
226
|
-
if (!desc
|
|
227
|
-
this._registerControllerAction(registry, info, controller, beanOptions, controllerBeanFullName, controllerPath, controllerOpenApiOptions, actionKey, desc);
|
|
233
|
+
if (!desc?.value || typeof desc.value !== 'function') continue;
|
|
234
|
+
this._registerControllerAction(registry, info, controller, beanOptions, controllerBeanFullName, controllerPath, controllerOpenApiOptions, actionKey, desc, options);
|
|
228
235
|
}
|
|
229
236
|
}
|
|
230
|
-
_registerControllerAction(registry, info, controller, beanOptions, _controllerBeanFullName, controllerPath, controllerOpenApiOptions, actionKey, _desc) {
|
|
237
|
+
_registerControllerAction(registry, info, controller, beanOptions, _controllerBeanFullName, controllerPath, controllerOpenApiOptions, actionKey, _desc, options) {
|
|
231
238
|
// app
|
|
232
239
|
const app = this.app;
|
|
233
240
|
// action options: should not extend controllerOpenApiOptions
|
|
234
241
|
const actionOpenApiOptions = appMetadata.getMetadata(SymbolOpenApiOptions, controller.prototype, actionKey);
|
|
235
|
-
if (actionOpenApiOptions?.exclude) return;
|
|
242
|
+
if (actionOpenApiOptions?.exclude && !options.includeExcluded) return;
|
|
236
243
|
// actionPath/actionMethod
|
|
237
244
|
if (!appMetadata.hasMetadata(SymbolRequestMappingHandler, controller.prototype, actionKey)) return;
|
|
238
245
|
const handlerMetadata = appMetadata.getMetadata(SymbolRequestMappingHandler, controller.prototype, actionKey);
|
|
@@ -271,15 +278,55 @@ let ServiceOpenapi = class ServiceOpenapi extends BeanBase {
|
|
|
271
278
|
responses: this._collectResponses(controller, actionKey, actionOpenApiOptions)
|
|
272
279
|
});
|
|
273
280
|
}
|
|
281
|
+
/** Resolve validators in the current context; do not retain across locale changes. */
|
|
282
|
+
getControllerActionContract(controller, actionKey) {
|
|
283
|
+
const beanOptions = appResource.getBean(controller);
|
|
284
|
+
if (!beanOptions) throw new Error('invalid controller');
|
|
285
|
+
const info = ModuleInfo.parseInfo(beanOptions.module);
|
|
286
|
+
const actionOpenApiOptions = appMetadata.getMetadata(SymbolOpenApiOptions, controller.prototype, actionKey);
|
|
287
|
+
const controllerOpenApiOptions = appMetadata.getMetadata(SymbolOpenApiOptions, controller);
|
|
288
|
+
const {
|
|
289
|
+
request
|
|
290
|
+
} = this._groupRequestSchemas(info, controller, actionKey, actionOpenApiOptions, controllerOpenApiOptions);
|
|
291
|
+
return {
|
|
292
|
+
request,
|
|
293
|
+
response: this._getBodySchema(controller, actionKey, actionOpenApiOptions),
|
|
294
|
+
contentType: actionOpenApiOptions?.contentType || 'application/json',
|
|
295
|
+
openapiOptions: actionOpenApiOptions,
|
|
296
|
+
argsMeta: this._getArgsMeta(controller, actionKey) ?? []
|
|
297
|
+
};
|
|
298
|
+
}
|
|
274
299
|
_collectRequest(info, controller, actionKey, actionOpenApiOptions, controllerOpenApiOptions) {
|
|
300
|
+
const {
|
|
301
|
+
request: schemas,
|
|
302
|
+
isUpload
|
|
303
|
+
} = this._groupRequestSchemas(info, controller, actionKey, actionOpenApiOptions, controllerOpenApiOptions);
|
|
304
|
+
const {
|
|
305
|
+
body,
|
|
306
|
+
...request
|
|
307
|
+
} = schemas;
|
|
308
|
+
if (!body) return request;
|
|
309
|
+
const contentType = isUpload ? 'multipart/form-data' : 'application/json';
|
|
310
|
+
return {
|
|
311
|
+
...request,
|
|
312
|
+
body: {
|
|
313
|
+
required: isUpload || !body.safeParse(undefined).success,
|
|
314
|
+
content: {
|
|
315
|
+
[contentType]: {
|
|
316
|
+
schema: body
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
_groupRequestSchemas(info, controller, actionKey, actionOpenApiOptions, controllerOpenApiOptions) {
|
|
275
323
|
// meta
|
|
276
324
|
const argsMeta = this._prepareArgsMeta(controller, actionKey, actionOpenApiOptions, controllerOpenApiOptions);
|
|
277
|
-
if (!argsMeta) return;
|
|
278
325
|
// args
|
|
279
326
|
const argsMapWithField = {};
|
|
280
327
|
const argsMapIsolate = {};
|
|
281
328
|
let isUpload;
|
|
282
|
-
for (const argMeta of argsMeta) {
|
|
329
|
+
for (const argMeta of argsMeta ?? []) {
|
|
283
330
|
if (!argMeta) continue;
|
|
284
331
|
if (!__ArgumentTypes.includes(argMeta.type)) continue;
|
|
285
332
|
if (['fields', 'field', 'files', 'file'].includes(argMeta.type)) {
|
|
@@ -306,16 +353,7 @@ let ServiceOpenapi = class ServiceOpenapi extends BeanBase {
|
|
|
306
353
|
if (argsMapWithField.files) Object.assign(schemaObj, argsMapWithField.files);
|
|
307
354
|
if (argsMapWithField.file) Object.assign(schemaObj, argsMapWithField.file);
|
|
308
355
|
if (argsMapIsolate.files) schemaObj.blobs = argsMapIsolate.files;
|
|
309
|
-
|
|
310
|
-
// body
|
|
311
|
-
request.body = {
|
|
312
|
-
required: true,
|
|
313
|
-
content: {
|
|
314
|
-
'multipart/form-data': {
|
|
315
|
-
schema
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
};
|
|
356
|
+
request.body = z.object(schemaObj);
|
|
319
357
|
} else {
|
|
320
358
|
for (const argumentType of __ArgumentTypes) {
|
|
321
359
|
let schema = argsMapIsolate[argumentType];
|
|
@@ -331,25 +369,14 @@ let ServiceOpenapi = class ServiceOpenapi extends BeanBase {
|
|
|
331
369
|
if (getInnerTypeName(schema) === 'any') {
|
|
332
370
|
throw new Error(`Invalid Openapi argument type: ${info.relativeName}:${controller.name}.${actionKey}#${argumentType}`);
|
|
333
371
|
}
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
// body
|
|
337
|
-
request.body = {
|
|
338
|
-
required: !schema.safeParse(undefined).success,
|
|
339
|
-
content: {
|
|
340
|
-
'application/json': {
|
|
341
|
-
schema
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
};
|
|
345
|
-
} else {
|
|
346
|
-
// others
|
|
347
|
-
const name = argumentType === 'param' ? 'params' : argumentType;
|
|
348
|
-
request[name] = schema;
|
|
349
|
-
}
|
|
372
|
+
const name = argumentType === 'param' ? 'params' : argumentType;
|
|
373
|
+
request[name] = schema;
|
|
350
374
|
}
|
|
351
375
|
}
|
|
352
|
-
return
|
|
376
|
+
return {
|
|
377
|
+
request,
|
|
378
|
+
isUpload: !!isUpload
|
|
379
|
+
};
|
|
353
380
|
}
|
|
354
381
|
_collectResponses(controller, actionKey, actionOpenApiOptions) {
|
|
355
382
|
// contentType
|
|
@@ -372,29 +399,34 @@ let ServiceOpenapi = class ServiceOpenapi extends BeanBase {
|
|
|
372
399
|
return responses;
|
|
373
400
|
}
|
|
374
401
|
_parseBodySchema(controller, actionKey, actionOpenApiOptions, contentType) {
|
|
375
|
-
|
|
376
|
-
let bodySchema;
|
|
377
|
-
if (actionOpenApiOptions?.bodySchema) {
|
|
378
|
-
bodySchema = actionOpenApiOptions.bodySchema;
|
|
379
|
-
} else {
|
|
380
|
-
const metaType = appMetadata.getDesignReturntype(controller.prototype, actionKey);
|
|
381
|
-
bodySchema = $schema(metaType);
|
|
382
|
-
}
|
|
402
|
+
const bodySchema = this._getBodySchema(controller, actionKey, actionOpenApiOptions);
|
|
383
403
|
// wrapper
|
|
384
404
|
if (contentType !== 'application/json') return bodySchema;
|
|
385
405
|
if (actionOpenApiOptions?.bodySchemaWrapper === false) return bodySchema;
|
|
386
406
|
const wrapper = actionOpenApiOptions?.bodySchemaWrapper ?? bodySchemaWrapperDefault;
|
|
387
407
|
return wrapper(bodySchema);
|
|
388
408
|
}
|
|
409
|
+
_getBodySchema(controller, actionKey, actionOpenApiOptions) {
|
|
410
|
+
if (actionOpenApiOptions?.bodySchema) return actionOpenApiOptions.bodySchema;
|
|
411
|
+
const metaType = appMetadata.getDesignReturntype(controller.prototype, actionKey);
|
|
412
|
+
return $schema(metaType);
|
|
413
|
+
}
|
|
414
|
+
_getArgsMeta(controller, actionKey) {
|
|
415
|
+
const argsMeta = appMetadata.getMetadata(SymbolRouteHandlersArgumentsMeta, controller.prototype, actionKey);
|
|
416
|
+
return argsMeta?.map(item => item && {
|
|
417
|
+
...item,
|
|
418
|
+
pipes: item.pipes?.slice()
|
|
419
|
+
});
|
|
420
|
+
}
|
|
389
421
|
_prepareArgsMeta(controller, actionKey, actionOpenApiOptions, controllerOpenApiOptions) {
|
|
390
422
|
// meta
|
|
391
|
-
let argsMeta =
|
|
423
|
+
let argsMeta = this._getArgsMeta(controller, actionKey);
|
|
392
424
|
// headers
|
|
393
425
|
const objHeaders = Object.assign({}, this._combineArgHeaders(controllerOpenApiOptions?.headers), this._combineArgHeaders(actionOpenApiOptions?.headers));
|
|
394
426
|
if (isEmptyObject(objHeaders)) return argsMeta;
|
|
395
427
|
// merge
|
|
396
428
|
if (!argsMeta) argsMeta = [];
|
|
397
|
-
let argHeaders = argsMeta.find(item => item
|
|
429
|
+
let argHeaders = argsMeta.find(item => item?.type === 'headers' && !item.field);
|
|
398
430
|
if (!argHeaders) {
|
|
399
431
|
argHeaders = {
|
|
400
432
|
type: 'headers',
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/bean/bean.openapi.ts","../src/service/openapi.ts","../src/bean/summerCache.json.ts","../src/config/config.ts","../src/lib/zod/schemaRefCustomAdapter.ts","../src/main.ts","../src/.metadata/index.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["BeanOpenapi","BeanBase","clearAllCaches","cacheOpenapiSchema","bean","summer","cache","beanFullNameFromOnionName","clear","cacheSwagger","cacheRapidoc","generateJsonOfClass","schemaClass","version","generateJsonOfClasses","schemaClasses","registry","OpenAPIRegistry","counter","schema","$schema","beanFullName","appResource","getBeanFullName","name","register","generator","OpenApiGeneratorV3","definitions","OpenApiGeneratorV31","apiObj","generateDocument","scope","config","service","openapi","translate","generateJsonCacheKey","info","args","locale","ctx","prop","generateJsonOfControllerActionCacheKey","controller","actionKey","beanOptions","getBean","generateJson","collectRegistry","generateJsonOfControllerAction","Error","collectController","module","__decorate","Caching","get","cacheName","cacheKeyFn","__metadata","_a","K","Object","prototype","String","_b","Bean","__z_BeanInfo","__ArgumentTypes","ServiceOpenapi","generateJsonScene","paths","key","pathObj","method","methodObj","parameterObj","parameters","_translateSchema","requestBody","content","components","schemas","type","required","undefined","serializerTransforms","filter","filterCapabilities","capabilities","description","title","_translateErrorMessages","properties","cast","propObj","items","obj","errorMessage","error","assign","isNil","minLength","minimum","exclusiveMinimum","maxLength","maximum","exclusiveMaximum","translateError","text","app","meta","configSecuritySchemes","securitySchemes","securityScheme","call","registerComponent","sceneName","onionSlices","onion","getOnionsEnabledCached","onionSlice","options","independent","beanClass","moduleName","ModuleInfo","parseInfo","controllerBeanFullName","controllerOptions","controllerPath","path","controllerOpenApiOptions","appMetadata","getMetadata","SymbolOpenApiOptions","exclude","descs","getOwnPropertyDescriptors","actionKeys","keys","desc","includes","value","_registerControllerAction","_controllerBeanFullName","_desc","actionOpenApiOptions","hasMetadata","SymbolRequestMappingHandler","handlerMetadata","actionPath","actionMethod","routePath","util","combineApiPathControllerAndAction","relativeName","routePath2","replace","tags","length","toUpperCaseFirstChar","combineResourceName","operationId","_public","public","security","bearerAuth","registerPath","summary","request","_collectRequest","responses","_collectResponses","argsMeta","_prepareArgsMeta","argsMapWithField","argsMapIsolate","isUpload","argMeta","field","schemaObj","fields","files","file","blobs","z","object","body","argumentType","extend","getInnerTypeName","safeParse","success","contentType","bodySchema","_parseBodySchema","response","metaType","getDesignReturntype","bodySchemaWrapper","wrapper","bodySchemaWrapperDefault","SymbolRouteHandlersArgumentsMeta","objHeaders","_combineArgHeaders","headers","isEmptyObject","argHeaders","find","item","push","header","string","Service","SummerCacheJson","ServiceSummerCacheBase","getNative","_key","_options","SummerCache","preset","_app","defaultVersion","V30","V31","scheme","bearerFormat","schemaRefCustomAdapter","generator31","_patchGenerator","gen","getPrototypeOf","generateSchemaWithRef","zodSchema","ZodMetadata","resolveLazySchema","refId","getRefId","generateSimpleSchema","schemaRefs","result","$ref","generateSchemaRef","Main","BeanSimple","moduleLoading","moduleLoaded","configLoaded","_config","ScopeModuleAOpenapi","BeanScopeBase","Scope"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/bean/bean.openapi.ts","../src/service/openapi.ts","../src/bean/summerCache.json.ts","../src/config/config.ts","../src/lib/zod/schemaRefCustomAdapter.ts","../src/main.ts","../src/.metadata/index.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["BeanOpenapi","BeanBase","clearAllCaches","cacheOpenapiSchema","bean","summer","cache","beanFullNameFromOnionName","clear","cacheSwagger","cacheRapidoc","generateJsonOfClass","schemaClass","version","generateJsonOfClasses","schemaClasses","registry","OpenAPIRegistry","counter","schema","$schema","beanFullName","appResource","getBeanFullName","name","register","generator","OpenApiGeneratorV3","definitions","OpenApiGeneratorV31","apiObj","generateDocument","scope","config","service","openapi","translate","generateJsonCacheKey","info","args","locale","ctx","prop","generateJsonOfControllerActionCacheKey","controller","actionKey","options","beanOptions","getBean","includeExcluded","generateJson","collectRegistry","generateJsonOfControllerAction","Error","collectController","module","__decorate","Caching","get","cacheName","cacheKeyFn","__metadata","_a","K","Object","prototype","String","_b","Bean","__z_BeanInfo","__ArgumentTypes","ServiceOpenapi","generateJsonScene","paths","key","pathObj","method","methodObj","parameterObj","parameters","_translateSchema","requestBody","content","components","schemas","type","required","undefined","serializerTransforms","filter","filterCapabilities","capabilities","description","title","_translateErrorMessages","properties","cast","propObj","items","obj","errorMessage","error","assign","isNil","minLength","minimum","exclusiveMinimum","maxLength","maximum","exclusiveMaximum","translateError","text","app","meta","configSecuritySchemes","securitySchemes","securityScheme","call","registerComponent","sceneName","onionSlices","onion","getOnionsEnabledCached","onionSlice","independent","beanClass","moduleName","ModuleInfo","parseInfo","controllerBeanFullName","controllerOptions","controllerPath","path","controllerOpenApiOptions","appMetadata","getMetadata","SymbolOpenApiOptions","exclude","descs","getOwnPropertyDescriptors","actionKeys","keys","desc","getPrototypeOf","getOwnPropertyDescriptor","includes","value","_registerControllerAction","_controllerBeanFullName","_desc","actionOpenApiOptions","hasMetadata","SymbolRequestMappingHandler","handlerMetadata","actionPath","actionMethod","routePath","util","combineApiPathControllerAndAction","relativeName","routePath2","replace","tags","length","toUpperCaseFirstChar","combineResourceName","operationId","_public","public","security","bearerAuth","registerPath","summary","request","_collectRequest","responses","_collectResponses","getControllerActionContract","_groupRequestSchemas","response","_getBodySchema","contentType","openapiOptions","argsMeta","_getArgsMeta","isUpload","body","safeParse","success","_prepareArgsMeta","argsMapWithField","argsMapIsolate","argMeta","field","schemaObj","fields","files","file","blobs","z","object","argumentType","extend","getInnerTypeName","bodySchema","_parseBodySchema","bodySchemaWrapper","wrapper","bodySchemaWrapperDefault","metaType","getDesignReturntype","SymbolRouteHandlersArgumentsMeta","map","item","pipes","slice","objHeaders","_combineArgHeaders","headers","isEmptyObject","argHeaders","find","push","header","string","Service","SummerCacheJson","ServiceSummerCacheBase","getNative","_key","_options","SummerCache","preset","_app","defaultVersion","V30","V31","scheme","bearerFormat","schemaRefCustomAdapter","generator31","_patchGenerator","gen","generateSchemaWithRef","zodSchema","ZodMetadata","resolveLazySchema","refId","getRefId","generateSimpleSchema","schemaRefs","result","$ref","generateSchemaRef","Main","BeanSimple","moduleLoading","moduleLoaded","configLoaded","_config","ScopeModuleAOpenapi","BeanScopeBase","Scope"],"mappings":"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"}
|
|
@@ -4,16 +4,22 @@ import type { Constructable } from 'vona';
|
|
|
4
4
|
import type { TypeGenerateJsonScene } from 'vona-module-a-openapiutils';
|
|
5
5
|
import { OpenAPIRegistry } from '@cabloy/zod-to-openapi';
|
|
6
6
|
import { BeanBase } from 'vona';
|
|
7
|
+
import type { IControllerActionContract, IGenerateJsonOfControllerActionOptions } from '../types/contract.ts';
|
|
7
8
|
export declare class ServiceOpenapi extends BeanBase {
|
|
8
9
|
translate(apiObj: OpenAPIObject30 | OpenAPIObject31, generateJsonScene: TypeGenerateJsonScene): void;
|
|
9
10
|
private _translateSchema;
|
|
10
11
|
private _translateErrorMessages;
|
|
11
12
|
collectRegistry(): OpenAPIRegistry;
|
|
12
|
-
collectController(registry: OpenAPIRegistry, moduleName: string, controller: Constructable, actionKey?: string): void;
|
|
13
|
+
collectController(registry: OpenAPIRegistry, moduleName: string, controller: Constructable, actionKey?: string, options?: IGenerateJsonOfControllerActionOptions): void;
|
|
13
14
|
private _registerControllerAction;
|
|
15
|
+
/** Resolve validators in the current context; do not retain across locale changes. */
|
|
16
|
+
getControllerActionContract(controller: Constructable, actionKey: string): IControllerActionContract;
|
|
14
17
|
private _collectRequest;
|
|
18
|
+
private _groupRequestSchemas;
|
|
15
19
|
private _collectResponses;
|
|
16
20
|
private _parseBodySchema;
|
|
21
|
+
private _getBodySchema;
|
|
22
|
+
private _getArgsMeta;
|
|
17
23
|
private _prepareArgsMeta;
|
|
18
24
|
private _combineArgHeaders;
|
|
19
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/service/openapi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/service/openapi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,IAAI,eAAe,EAGjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,aAAa,IAAI,eAAe,EAEjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,aAAa,EAA6B,MAAM,MAAM,CAAC;AACrE,OAAO,KAAK,EAGV,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AAYpC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAA4B,QAAQ,EAAQ,MAAM,MAAM,CAAC;AAWhE,OAAO,KAAK,EACV,yBAAyB,EAEzB,sCAAsC,EACvC,MAAM,sBAAsB,CAAC;AAK9B,qBACa,cAAe,SAAQ,QAAQ;IACnC,SAAS,CACd,MAAM,EAAE,eAAe,GAAG,eAAe,EACzC,iBAAiB,EAAE,qBAAqB;IAmC1C,OAAO,CAAC,gBAAgB;IA0CxB,OAAO,CAAC,uBAAuB;IAsBxB,eAAe;IAgCf,iBAAiB,CACtB,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,aAAa,EACzB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,sCAA2C;IA4CtD,OAAO,CAAC,yBAAyB;IAwFjC,sFAAsF;IAC/E,2BAA2B,CAChC,UAAU,EAAE,aAAa,EACzB,SAAS,EAAE,MAAM,GAChB,yBAAyB;IA6B5B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,oBAAoB;IAuE5B,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,kBAAkB;CAQ3B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IOpenapiOptions, TypeResponseContentType } from 'vona-module-a-openapiutils';
|
|
2
|
+
import type { z } from 'zod';
|
|
3
|
+
import type { RouteHandlerArgumentMetaDecorator } from './decorator.ts';
|
|
4
|
+
export interface IControllerActionRequest {
|
|
5
|
+
params?: z.ZodType;
|
|
6
|
+
query?: z.ZodType;
|
|
7
|
+
body?: z.ZodType;
|
|
8
|
+
headers?: z.ZodType;
|
|
9
|
+
}
|
|
10
|
+
export interface IControllerActionContract {
|
|
11
|
+
request: IControllerActionRequest;
|
|
12
|
+
/** The controller return validator, without the HTTP response wrapper. */
|
|
13
|
+
response: z.ZodType;
|
|
14
|
+
contentType: TypeResponseContentType;
|
|
15
|
+
openapiOptions?: IOpenapiOptions;
|
|
16
|
+
/** Copies of the original executor metadata, without synthetic documentation headers. */
|
|
17
|
+
argsMeta: RouteHandlerArgumentMetaDecorator[];
|
|
18
|
+
}
|
|
19
|
+
export interface IGenerateJsonOfControllerActionOptions {
|
|
20
|
+
includeExcluded?: boolean;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/types/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,wBAAwB,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;IACpB,WAAW,EAAE,uBAAuB,CAAC;IACrC,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,yFAAyF;IACzF,QAAQ,EAAE,iCAAiC,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,sCAAsC;IACrD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAE3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAC;AAE3B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona-module-a-openapi",
|
|
3
|
-
"version": "5.1.
|
|
4
|
-
"gitHead": "
|
|
3
|
+
"version": "5.1.27",
|
|
4
|
+
"gitHead": "124137dd279fa4cc3f77075d81887c0cad670876",
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"Vona Module"
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@cabloy/zod-openapi": "^1.1.10",
|
|
35
|
-
"@cabloy/zod-query": "^2.1.
|
|
35
|
+
"@cabloy/zod-query": "^2.1.14",
|
|
36
36
|
"@cabloy/zod-to-openapi": "^8.1.6",
|
|
37
37
|
"openapi3-ts": "^4.5.0",
|
|
38
38
|
"typestyle": "^2.4.0",
|
package/src/bean/bean.openapi.ts
CHANGED
|
@@ -8,6 +8,8 @@ import { Bean } from 'vona-module-a-bean';
|
|
|
8
8
|
import { Caching } from 'vona-module-a-caching';
|
|
9
9
|
import { $schema } from 'vona-module-a-openapiutils';
|
|
10
10
|
|
|
11
|
+
import type { IGenerateJsonOfControllerActionOptions } from '../types/contract.ts';
|
|
12
|
+
|
|
11
13
|
@Bean()
|
|
12
14
|
export class BeanOpenapi extends BeanBase {
|
|
13
15
|
public async clearAllCaches() {
|
|
@@ -65,11 +67,11 @@ export class BeanOpenapi extends BeanBase {
|
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
protected generateJsonOfControllerActionCacheKey(info: ICachingActionKeyInfo) {
|
|
68
|
-
const [controller, actionKey, version] = info.args;
|
|
70
|
+
const [controller, actionKey, version, options] = info.args;
|
|
69
71
|
const beanOptions = appResource.getBean(controller)!;
|
|
70
72
|
const beanFullName = beanOptions.beanFullName;
|
|
71
73
|
const locale = this.ctx.locale;
|
|
72
|
-
return `${info.prop}_${beanFullName}_${actionKey}_${version ?? 'V31'}_${locale}`;
|
|
74
|
+
return `${info.prop}_${beanFullName}_${actionKey}_${version ?? 'V31'}_${locale}_${options?.includeExcluded === true}`;
|
|
73
75
|
}
|
|
74
76
|
|
|
75
77
|
@Caching.get({ cacheName: 'a-openapi:json', cacheKeyFn: 'generateJsonCacheKey' })
|
|
@@ -94,6 +96,7 @@ export class BeanOpenapi extends BeanBase {
|
|
|
94
96
|
controller: Constructable,
|
|
95
97
|
actionKey: string,
|
|
96
98
|
version: K = 'V31' as any,
|
|
99
|
+
options: IGenerateJsonOfControllerActionOptions = {},
|
|
97
100
|
): Promise<IOpenapiObject[K]> {
|
|
98
101
|
const registry = new OpenAPIRegistry();
|
|
99
102
|
const beanOptions = appResource.getBean(controller);
|
|
@@ -103,6 +106,7 @@ export class BeanOpenapi extends BeanBase {
|
|
|
103
106
|
beanOptions.module,
|
|
104
107
|
controller,
|
|
105
108
|
actionKey,
|
|
109
|
+
options,
|
|
106
110
|
);
|
|
107
111
|
const generator =
|
|
108
112
|
version === 'V30'
|
package/src/service/openapi.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RouteConfig } from '@cabloy/zod-to-openapi';
|
|
1
2
|
import type {
|
|
2
3
|
OpenAPIObject as OpenAPIObject30,
|
|
3
4
|
SchemaObject as SchemaObject30,
|
|
@@ -36,6 +37,11 @@ import {
|
|
|
36
37
|
import { SymbolRequestMappingHandler } from 'vona-module-a-web';
|
|
37
38
|
import { z } from 'zod';
|
|
38
39
|
|
|
40
|
+
import type {
|
|
41
|
+
IControllerActionContract,
|
|
42
|
+
IControllerActionRequest,
|
|
43
|
+
IGenerateJsonOfControllerActionOptions,
|
|
44
|
+
} from '../types/contract.ts';
|
|
39
45
|
import type { RouteHandlerArgumentMetaDecorator } from '../types/decorator.ts';
|
|
40
46
|
|
|
41
47
|
const __ArgumentTypes = ['param', 'query', 'body', 'headers', 'fields', 'field', 'files', 'file'];
|
|
@@ -180,6 +186,7 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
180
186
|
moduleName: string,
|
|
181
187
|
controller: Constructable,
|
|
182
188
|
actionKey?: string,
|
|
189
|
+
options: IGenerateJsonOfControllerActionOptions = {},
|
|
183
190
|
) {
|
|
184
191
|
// info
|
|
185
192
|
const info = ModuleInfo.parseInfo(moduleName)!;
|
|
@@ -193,14 +200,21 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
193
200
|
SymbolOpenApiOptions,
|
|
194
201
|
controller,
|
|
195
202
|
);
|
|
196
|
-
if (controllerOpenApiOptions?.exclude) return;
|
|
203
|
+
if (controllerOpenApiOptions?.exclude && !options.includeExcluded) return;
|
|
197
204
|
// descs
|
|
198
205
|
const descs = Object.getOwnPropertyDescriptors(controller.prototype);
|
|
199
206
|
const actionKeys = actionKey ? [actionKey] : Object.keys(descs);
|
|
200
207
|
for (const actionKey of actionKeys) {
|
|
201
|
-
|
|
208
|
+
let desc = descs[actionKey];
|
|
209
|
+
if (actionKey && !desc) {
|
|
210
|
+
let prototype = Object.getPrototypeOf(controller.prototype);
|
|
211
|
+
while (prototype && !desc) {
|
|
212
|
+
desc = Object.getOwnPropertyDescriptor(prototype, actionKey)!;
|
|
213
|
+
prototype = Object.getPrototypeOf(prototype);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
202
216
|
if (['constructor'].includes(actionKey)) continue;
|
|
203
|
-
if (!desc
|
|
217
|
+
if (!desc?.value || typeof desc.value !== 'function') continue;
|
|
204
218
|
this._registerControllerAction(
|
|
205
219
|
registry,
|
|
206
220
|
info,
|
|
@@ -211,6 +225,7 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
211
225
|
controllerOpenApiOptions,
|
|
212
226
|
actionKey,
|
|
213
227
|
desc,
|
|
228
|
+
options,
|
|
214
229
|
);
|
|
215
230
|
}
|
|
216
231
|
}
|
|
@@ -225,6 +240,7 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
225
240
|
controllerOpenApiOptions: IOpenapiOptions | undefined,
|
|
226
241
|
actionKey: string,
|
|
227
242
|
_desc: PropertyDescriptor,
|
|
243
|
+
options: IGenerateJsonOfControllerActionOptions,
|
|
228
244
|
) {
|
|
229
245
|
// app
|
|
230
246
|
const app = this.app;
|
|
@@ -235,7 +251,7 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
235
251
|
controller.prototype,
|
|
236
252
|
actionKey,
|
|
237
253
|
);
|
|
238
|
-
if (actionOpenApiOptions?.exclude) return;
|
|
254
|
+
if (actionOpenApiOptions?.exclude && !options.includeExcluded) return;
|
|
239
255
|
|
|
240
256
|
// actionPath/actionMethod
|
|
241
257
|
if (!appMetadata.hasMetadata(SymbolRequestMappingHandler, controller.prototype, actionKey))
|
|
@@ -302,12 +318,71 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
302
318
|
});
|
|
303
319
|
}
|
|
304
320
|
|
|
321
|
+
/** Resolve validators in the current context; do not retain across locale changes. */
|
|
322
|
+
public getControllerActionContract(
|
|
323
|
+
controller: Constructable,
|
|
324
|
+
actionKey: string,
|
|
325
|
+
): IControllerActionContract {
|
|
326
|
+
const beanOptions = appResource.getBean(controller);
|
|
327
|
+
if (!beanOptions) throw new Error('invalid controller');
|
|
328
|
+
const info = ModuleInfo.parseInfo(beanOptions.module)!;
|
|
329
|
+
const actionOpenApiOptions = appMetadata.getMetadata<IOpenapiOptions>(
|
|
330
|
+
SymbolOpenApiOptions,
|
|
331
|
+
controller.prototype,
|
|
332
|
+
actionKey,
|
|
333
|
+
);
|
|
334
|
+
const controllerOpenApiOptions = appMetadata.getMetadata<IOpenapiOptions>(
|
|
335
|
+
SymbolOpenApiOptions,
|
|
336
|
+
controller,
|
|
337
|
+
);
|
|
338
|
+
const { request } = this._groupRequestSchemas(
|
|
339
|
+
info,
|
|
340
|
+
controller,
|
|
341
|
+
actionKey,
|
|
342
|
+
actionOpenApiOptions,
|
|
343
|
+
controllerOpenApiOptions,
|
|
344
|
+
);
|
|
345
|
+
return {
|
|
346
|
+
request,
|
|
347
|
+
response: this._getBodySchema(controller, actionKey, actionOpenApiOptions),
|
|
348
|
+
contentType: actionOpenApiOptions?.contentType || 'application/json',
|
|
349
|
+
openapiOptions: actionOpenApiOptions,
|
|
350
|
+
argsMeta: this._getArgsMeta(controller, actionKey) ?? [],
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
|
|
305
354
|
private _collectRequest(
|
|
306
355
|
info: ModuleInfo.IModuleInfo,
|
|
307
356
|
controller: Constructable,
|
|
308
357
|
actionKey: string,
|
|
309
358
|
actionOpenApiOptions: IOpenapiOptions | undefined,
|
|
310
359
|
controllerOpenApiOptions: IOpenapiOptions | undefined,
|
|
360
|
+
) {
|
|
361
|
+
const { request: schemas, isUpload } = this._groupRequestSchemas(
|
|
362
|
+
info,
|
|
363
|
+
controller,
|
|
364
|
+
actionKey,
|
|
365
|
+
actionOpenApiOptions,
|
|
366
|
+
controllerOpenApiOptions,
|
|
367
|
+
);
|
|
368
|
+
const { body, ...request } = schemas;
|
|
369
|
+
if (!body) return request as RouteConfig['request'];
|
|
370
|
+
const contentType = isUpload ? 'multipart/form-data' : 'application/json';
|
|
371
|
+
return {
|
|
372
|
+
...request,
|
|
373
|
+
body: {
|
|
374
|
+
required: isUpload || !body.safeParse(undefined).success,
|
|
375
|
+
content: { [contentType]: { schema: body } },
|
|
376
|
+
},
|
|
377
|
+
} as RouteConfig['request'];
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
private _groupRequestSchemas(
|
|
381
|
+
info: ModuleInfo.IModuleInfo,
|
|
382
|
+
controller: Constructable,
|
|
383
|
+
actionKey: string,
|
|
384
|
+
actionOpenApiOptions: IOpenapiOptions | undefined,
|
|
385
|
+
controllerOpenApiOptions: IOpenapiOptions | undefined,
|
|
311
386
|
) {
|
|
312
387
|
// meta
|
|
313
388
|
const argsMeta = this._prepareArgsMeta(
|
|
@@ -316,12 +391,11 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
316
391
|
actionOpenApiOptions,
|
|
317
392
|
controllerOpenApiOptions,
|
|
318
393
|
);
|
|
319
|
-
if (!argsMeta) return;
|
|
320
394
|
// args
|
|
321
395
|
const argsMapWithField: any = {};
|
|
322
396
|
const argsMapIsolate: any = {};
|
|
323
397
|
let isUpload;
|
|
324
|
-
for (const argMeta of argsMeta) {
|
|
398
|
+
for (const argMeta of argsMeta ?? []) {
|
|
325
399
|
if (!argMeta) continue;
|
|
326
400
|
if (!__ArgumentTypes.includes(argMeta.type)) continue;
|
|
327
401
|
if (['fields', 'field', 'files', 'file'].includes(argMeta.type)) {
|
|
@@ -339,7 +413,7 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
339
413
|
}
|
|
340
414
|
}
|
|
341
415
|
// request
|
|
342
|
-
const request:
|
|
416
|
+
const request: IControllerActionRequest = {};
|
|
343
417
|
if (isUpload) {
|
|
344
418
|
const schemaObj: any = {};
|
|
345
419
|
// not check argsMapIsolate.fields
|
|
@@ -348,16 +422,7 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
348
422
|
if (argsMapWithField.files) Object.assign(schemaObj, argsMapWithField.files);
|
|
349
423
|
if (argsMapWithField.file) Object.assign(schemaObj, argsMapWithField.file);
|
|
350
424
|
if (argsMapIsolate.files) schemaObj.blobs = argsMapIsolate.files;
|
|
351
|
-
|
|
352
|
-
// body
|
|
353
|
-
request.body = {
|
|
354
|
-
required: true,
|
|
355
|
-
content: {
|
|
356
|
-
'multipart/form-data': {
|
|
357
|
-
schema,
|
|
358
|
-
},
|
|
359
|
-
},
|
|
360
|
-
};
|
|
425
|
+
request.body = z.object(schemaObj);
|
|
361
426
|
} else {
|
|
362
427
|
for (const argumentType of __ArgumentTypes) {
|
|
363
428
|
let schema: z.ZodType | undefined = argsMapIsolate[argumentType];
|
|
@@ -375,26 +440,12 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
375
440
|
`Invalid Openapi argument type: ${info.relativeName}:${controller.name}.${actionKey}#${argumentType}`,
|
|
376
441
|
);
|
|
377
442
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
// body
|
|
381
|
-
request.body = {
|
|
382
|
-
required: !schema.safeParse(undefined).success,
|
|
383
|
-
content: {
|
|
384
|
-
'application/json': {
|
|
385
|
-
schema,
|
|
386
|
-
},
|
|
387
|
-
},
|
|
388
|
-
};
|
|
389
|
-
} else {
|
|
390
|
-
// others
|
|
391
|
-
const name = argumentType === 'param' ? 'params' : argumentType;
|
|
392
|
-
request[name] = schema;
|
|
393
|
-
}
|
|
443
|
+
const name = argumentType === 'param' ? 'params' : argumentType;
|
|
444
|
+
request[name] = schema;
|
|
394
445
|
}
|
|
395
446
|
}
|
|
396
447
|
|
|
397
|
-
return request;
|
|
448
|
+
return { request, isUpload: !!isUpload };
|
|
398
449
|
}
|
|
399
450
|
|
|
400
451
|
private _collectResponses(
|
|
@@ -431,14 +482,7 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
431
482
|
actionOpenApiOptions: IOpenapiOptions | undefined,
|
|
432
483
|
contentType: string,
|
|
433
484
|
) {
|
|
434
|
-
|
|
435
|
-
let bodySchema: z.ZodType;
|
|
436
|
-
if (actionOpenApiOptions?.bodySchema) {
|
|
437
|
-
bodySchema = actionOpenApiOptions.bodySchema;
|
|
438
|
-
} else {
|
|
439
|
-
const metaType = appMetadata.getDesignReturntype(controller.prototype, actionKey);
|
|
440
|
-
bodySchema = $schema(metaType as any);
|
|
441
|
-
}
|
|
485
|
+
const bodySchema = this._getBodySchema(controller, actionKey, actionOpenApiOptions);
|
|
442
486
|
// wrapper
|
|
443
487
|
if (contentType !== 'application/json') return bodySchema;
|
|
444
488
|
if (actionOpenApiOptions?.bodySchemaWrapper === false) return bodySchema;
|
|
@@ -446,18 +490,33 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
446
490
|
return wrapper(bodySchema);
|
|
447
491
|
}
|
|
448
492
|
|
|
449
|
-
private
|
|
493
|
+
private _getBodySchema(
|
|
450
494
|
controller: Constructable,
|
|
451
495
|
actionKey: string,
|
|
452
496
|
actionOpenApiOptions: IOpenapiOptions | undefined,
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
497
|
+
): z.ZodType {
|
|
498
|
+
if (actionOpenApiOptions?.bodySchema) return actionOpenApiOptions.bodySchema;
|
|
499
|
+
const metaType = appMetadata.getDesignReturntype(controller.prototype, actionKey);
|
|
500
|
+
return $schema(metaType as any);
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
private _getArgsMeta(controller: Constructable, actionKey: string) {
|
|
504
|
+
const argsMeta = appMetadata.getMetadata<RouteHandlerArgumentMetaDecorator[]>(
|
|
457
505
|
SymbolRouteHandlersArgumentsMeta,
|
|
458
506
|
controller.prototype,
|
|
459
507
|
actionKey,
|
|
460
508
|
);
|
|
509
|
+
return argsMeta?.map(item => item && { ...item, pipes: item.pipes?.slice() });
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
private _prepareArgsMeta(
|
|
513
|
+
controller: Constructable,
|
|
514
|
+
actionKey: string,
|
|
515
|
+
actionOpenApiOptions: IOpenapiOptions | undefined,
|
|
516
|
+
controllerOpenApiOptions: IOpenapiOptions | undefined,
|
|
517
|
+
) {
|
|
518
|
+
// meta
|
|
519
|
+
let argsMeta = this._getArgsMeta(controller, actionKey);
|
|
461
520
|
// headers
|
|
462
521
|
const objHeaders = Object.assign(
|
|
463
522
|
{} as any,
|
|
@@ -467,7 +526,7 @@ export class ServiceOpenapi extends BeanBase {
|
|
|
467
526
|
if (isEmptyObject(objHeaders)) return argsMeta;
|
|
468
527
|
// merge
|
|
469
528
|
if (!argsMeta) argsMeta = [];
|
|
470
|
-
let argHeaders = argsMeta.find(item => item
|
|
529
|
+
let argHeaders = argsMeta.find(item => item?.type === 'headers' && !item.field);
|
|
471
530
|
if (!argHeaders) {
|
|
472
531
|
argHeaders = { type: 'headers', field: undefined, schema: z.object(objHeaders) } as any;
|
|
473
532
|
argsMeta.push(argHeaders!);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { IOpenapiOptions, TypeResponseContentType } from 'vona-module-a-openapiutils';
|
|
2
|
+
import type { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
import type { RouteHandlerArgumentMetaDecorator } from './decorator.ts';
|
|
5
|
+
|
|
6
|
+
export interface IControllerActionRequest {
|
|
7
|
+
params?: z.ZodType;
|
|
8
|
+
query?: z.ZodType;
|
|
9
|
+
body?: z.ZodType;
|
|
10
|
+
headers?: z.ZodType;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface IControllerActionContract {
|
|
14
|
+
request: IControllerActionRequest;
|
|
15
|
+
/** The controller return validator, without the HTTP response wrapper. */
|
|
16
|
+
response: z.ZodType;
|
|
17
|
+
contentType: TypeResponseContentType;
|
|
18
|
+
openapiOptions?: IOpenapiOptions;
|
|
19
|
+
/** Copies of the original executor metadata, without synthetic documentation headers. */
|
|
20
|
+
argsMeta: RouteHandlerArgumentMetaDecorator[];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface IGenerateJsonOfControllerActionOptions {
|
|
24
|
+
includeExcluded?: boolean;
|
|
25
|
+
}
|