vona-module-a-openapi 5.1.26 → 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.
@@ -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,GACxB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;CAkB9B"}
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
- const desc = descs[actionKey];
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.value || typeof desc.value !== 'function') continue;
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
- const schema = z.object(schemaObj);
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
- // record
335
- if (argumentType === 'body') {
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 request;
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
- // bodySchema
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 = appMetadata.getMetadata(SymbolRouteHandlersArgumentsMeta, controller.prototype, actionKey);
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.type === 'headers' && !item.field);
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":";;;;;;;;;;;;;;;;;;;AAaO,IAAMA,WAAW,GAAjB,MAAMA,WAAY,SAAQC,QAAQ,CAAA;EAChC,MAAMC,cAAcA,GAAA;AACzB,IAAA,MAAMC,kBAAkB,GAAG,IAAI,CAACC,IAAI,CAACC,MAAM,CAACC,KAAK,CAC/CC,yBAAyB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAC3D;AACD,IAAA,MAAMJ,kBAAkB,CAACK,KAAK,EAAE;AAChC,IAAA,MAAMC,YAAY,GAAG,IAAI,CAACL,IAAI,CAACC,MAAM,CAACC,KAAK,CACzCC,yBAAyB,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAC9D;AACD,IAAA,MAAME,YAAY,CAACD,KAAK,EAAE;AAC1B,IAAA,MAAME,YAAY,GAAG,IAAI,CAACN,IAAI,CAACC,MAAM,CAACC,KAAK,CACzCC,yBAAyB,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAC9D;AACD,IAAA,MAAMG,YAAY,CAACF,KAAK,EAAE;AAC5B,EAAA;AAEA;AACA,EAAA,MAAMG,mBAAmBA,CACvBC,WAA0B,EAC1BC,UAAa,KAAY,EAAA;IAEzB,OAAO,MAAM,IAAI,CAACC,qBAAqB,CAAC,CAACF,WAAW,CAAC,EAAEC,OAAO,CAAC;AACjE,EAAA;AAEA;AACA,EAAA,MAAMC,qBAAqBA,CACzBC,aAA8B,EAC9BF,UAAa,KAAY,EAAA;AAEzB,IAAA,MAAMG,QAAQ,GAAG,IAAIC,eAAe,EAAE;AACtC;IACA,IAAIC,OAAO,GAAG,CAAC;AACf,IAAA,KAAK,MAAMN,WAAW,IAAIG,aAAa,EAAE;AACvC,MAAA,MAAMI,MAAM,GAAGC,OAAO,CAACR,WAAW,CAAC;AACnC,MAAA,IAAIS,YAAY,GAAGC,WAAW,CAACC,eAAe,CAACX,WAAW,CAAC;MAC3D,IAAI,CAACS,YAAY,EAAE;QACjBA,YAAY,GAAG,GAAGT,WAAW,CAACY,IAAI,CAAA,CAAA,EAAIN,OAAO,EAAE,CAAA,CAAE;AACnD,MAAA;AACAF,MAAAA,QAAQ,CAACS,QAAQ,CAACJ,YAAY,EAAEF,MAAM,CAAC;AACzC,IAAA;IACA,MAAMO,SAAS,GACbb,OAAO,KAAK,KAAK,GACb,IAAIc,kBAAkB,CAACX,QAAQ,CAACY,WAAW,CAAC,GAC5C,IAAIC,mBAAmB,CAACb,QAAQ,CAACY,WAAW,CAAC;AACnD,IAAA,MAAME,MAAM,GAAGJ,SAAS,CAACK,gBAAgB,CAAC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACF,gBAAgB,CAAClB,OAAO,CAAC,CAAC;AACtF,IAAA,IAAI,CAACmB,KAAK,CAACE,OAAO,CAACC,OAAO,CAACC,SAAS,CAACN,MAAM,EAAE,MAAM,CAAC;AACpD,IAAA,OAAOA,MAA2B;AACpC,EAAA;EAEUO,oBAAoBA,CAACC,IAA2B,EAAA;IACxD,MAAMzB,OAAO,GAAGyB,IAAI,CAACC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK;AACrC,IAAA,MAAMC,MAAM,GAAG,IAAI,CAACC,GAAG,CAACD,MAAM;IAC9B,OAAO,CAAA,EAAGF,IAAI,CAACI,IAAI,IAAI7B,OAAO,CAAA,CAAA,EAAI2B,MAAM,CAAA,CAAE;AAC5C,EAAA;EAEUG,sCAAsCA,CAACL,IAA2B,EAAA;AAC1E,IAAA,MAAM,CAACM,UAAU,EAAEC,SAAS,EAAEhC,OAAO,EAAEiC,OAAO,CAAC,GAAGR,IAAI,CAACC,IAAI;AAC3D,IAAA,MAAMQ,WAAW,GAAGzB,WAAW,CAAC0B,OAAO,CAACJ,UAAU,CAAE;AACpD,IAAA,MAAMvB,YAAY,GAAG0B,WAAW,CAAC1B,YAAY;AAC7C,IAAA,MAAMmB,MAAM,GAAG,IAAI,CAACC,GAAG,CAACD,MAAM;IAC9B,OAAO,CAAA,EAAGF,IAAI,CAACI,IAAI,IAAIrB,YAAY,CAAA,CAAA,EAAIwB,SAAS,CAAA,CAAA,EAAIhC,OAAO,IAAI,KAAK,CAAA,CAAA,EAAI2B,MAAM,CAAA,CAAA,EAAIM,OAAO,EAAEG,eAAe,KAAK,IAAI,CAAA,CAAE;AACvH,EAAA;AAGA,EAAA,MAAMC,YAAYA,CAChBrC,UAAa,KAAY,EAAA;AAEzB,IAAA,MAAMG,QAAQ,GAAG,IAAI,CAACgB,KAAK,CAACE,OAAO,CAACC,OAAO,CAACgB,eAAe,EAAE;IAC7D,MAAMzB,SAAS,GACbb,OAAO,KAAK,KAAK,GACb,IAAIc,kBAAkB,CAACX,QAAQ,CAACY,WAAW,CAAC,GAC5C,IAAIC,mBAAmB,CAACb,QAAQ,CAACY,WAAW,CAAC;AACnD,IAAA,MAAME,MAAM,GAAGJ,SAAS,CAACK,gBAAgB,CAAC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACF,gBAAgB,CAAClB,OAAO,CAAC,CAAC;AACtF,IAAA,IAAI,CAACmB,KAAK,CAACE,OAAO,CAACC,OAAO,CAACC,SAAS,CAACN,MAAM,EAAE,KAAK,CAAC;AACnD,IAAA,OAAOA,MAA2B;AACpC,EAAA;AAMA,EAAA,MAAMsB,8BAA8BA,CAClCR,UAAyB,EACzBC,SAAiB,EACjBhC,OAAA,GAAa,KAAY,EACzBiC,OAAA,GAAkD,EAAE,EAAA;AAEpD,IAAA,MAAM9B,QAAQ,GAAG,IAAIC,eAAe,EAAE;AACtC,IAAA,MAAM8B,WAAW,GAAGzB,WAAW,CAAC0B,OAAO,CAACJ,UAAU,CAAC;IACnD,IAAI,CAACG,WAAW,EAAE,MAAM,IAAIM,KAAK,CAAC,oBAAoB,CAAC;IACvD,IAAI,CAACrB,KAAK,CAACE,OAAO,CAACC,OAAO,CAACmB,iBAAiB,CAC1CtC,QAAQ,EACR+B,WAAW,CAACQ,MAAM,EAClBX,UAAU,EACVC,SAAS,EACTC,OAAO,CACR;IACD,MAAMpB,SAAS,GACbb,OAAO,KAAK,KAAK,GACb,IAAIc,kBAAkB,CAACX,QAAQ,CAACY,WAAW,CAAC,GAC5C,IAAIC,mBAAmB,CAACb,QAAQ,CAACY,WAAW,CAAC;AACnD,IAAA,MAAME,MAAM,GAAGJ,SAAS,CAACK,gBAAgB,CAAC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACF,gBAAgB,CAAClB,OAAO,CAAC,CAAC;AACtF,IAAA,IAAI,CAACmB,KAAK,CAACE,OAAO,CAACC,OAAO,CAACC,SAAS,CAACN,MAAM,EAAE,MAAM,CAAC;AACpD,IAAA,OAAOA,MAA2B;AACpC,EAAA;;AAxCM0B,UAAA,CAAA,CADLC,OAAO,CAACC,GAAG,CAAC;AAAEC,EAAAA,SAAS,EAAE,gBAAgB;AAAEC,EAAAA,UAAU,EAAE;AAAsB,CAAE,CAAC,uCAEtEC,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAAC,EAAA,GAAA,OAAAC,CAAC,oBAADA,CAAC,CAAA,KAAA,UAAA,GAAAD,EAAA,GAAAE,MAAA,CAAA,CAAA,2CAUX,EAAAhE,WAAA,CAAAiE,SAAA,EAAA,cAAA,EAAA,IAAA,CAAA;AAMKT,UAAA,CAAA,CAJLC,OAAO,CAACC,GAAG,CAAC;AACXC,EAAAA,SAAS,EAAE,gBAAgB;AAC3BC,EAAAA,UAAU,EAAE;CACb,CAAC,uCAISC,UAAA,CAAA,mBAAA,EAAA,CAAAG,MAAA,EAAAE,MAAA,EAAA,QAAAC,EAAA,GAAA,OAAAJ,CAAC,oBAADA,CAAC,CAAA,KAAA,UAAA,GAAAI,EAAA,GAAAH,MAAA,EAAAA,MAAA,CAAA,CAAA,2CAoBX,EAAAhE,WAAA,CAAAiE,SAAA,EAAA,gCAAA,EAAA,IAAA,CAAA;AAxGUjE,WAAW,GAAAwD,UAAA,CAAA,CADvBY,IAAI,EAAE,EAAAC,QAAA,CAAA;EAAAd,MAAA,EAAA;AAAA,CAAA,CAAA,CACM,EAAAvD,WAAW,CAyGvB;;ACxED,MAAMsE,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;AAG1F,IAAMC,cAAc,GAApB,MAAMA,cAAe,SAAQtE,QAAQ,CAAA;AACnCmC,EAAAA,SAASA,CACdN,MAAyC,EACzC0C,iBAAwC,EAAA;AAExC;IACA,IAAI1C,MAAM,CAAC2C,KAAK,EAAE;AAChB,MAAA,KAAK,MAAMC,GAAG,IAAI5C,MAAM,CAAC2C,KAAK,EAAE;AAC9B,QAAA,MAAME,OAAO,GAAG7C,MAAM,CAAC2C,KAAK,CAACC,GAAG,CAAC;AACjC,QAAA,KAAK,MAAME,MAAM,IAAID,OAAO,EAAE;AAC5B,UAAA,MAAME,SAAS,GAAGF,OAAO,CAACC,MAAM,CAAC;AACjC;UACA,KAAK,MAAME,YAAY,IAAID,SAAS,CAACE,UAAU,IAAI,EAAE,EAAE;YACrD,IAAID,YAAY,CAAC3D,MAAM,EAAE;AACvB2D,cAAAA,YAAY,CAAC3D,MAAM,GAAG,IAAI,CAAC6D,gBAAgB,CAACF,YAAY,CAAC3D,MAAM,EAAEqD,iBAAiB,CAAC;AACrF,YAAA;AACF,UAAA;AACA;UACA,IAAIK,SAAS,CAACI,WAAW,EAAEC,OAAO,GAAG,kBAAkB,CAAC,EAAE/D,MAAM,EAAE;YAChE0D,SAAS,CAACI,WAAW,CAACC,OAAO,CAAC,kBAAkB,CAAC,CAAC/D,MAAM,GAAG,IAAI,CAAC6D,gBAAgB,CAC9EH,SAAS,CAACI,WAAW,CAACC,OAAO,CAAC,kBAAkB,CAAC,CAAC/D,MAAM,EACxDqD,iBAAiB,CAClB;AACH,UAAA;AACF,QAAA;AACF,MAAA;AACF,IAAA;AACA;AACA,IAAA,IAAI1C,MAAM,CAACqD,UAAU,EAAEC,OAAO,EAAE;MAC9B,KAAK,MAAMV,GAAG,IAAI5C,MAAM,CAACqD,UAAU,CAACC,OAAO,EAAE;QAC3C,MAAMjE,MAAM,GAAGW,MAAM,CAACqD,UAAU,CAACC,OAAO,CAACV,GAAG,CAAC;AAC7C,QAAA,IAAIvD,MAAM,EAAE;AACVW,UAAAA,MAAM,CAACqD,UAAU,CAACC,OAAO,CAACV,GAAG,CAAC,GAAG,IAAI,CAACM,gBAAgB,CAAC7D,MAAM,EAAEqD,iBAAiB,CAAC;AACnF,QAAA;AACF,MAAA;AACF,IAAA;AACF,EAAA;AAEQQ,EAAAA,gBAAgBA,CAAC7D,MAAW,EAAEqD,iBAAwC,EAAA;AAC5E,IAAA,IAAIrD,MAAM,CAACkE,IAAI,KAAK,QAAQ,IAAIlE,MAAM,CAACmE,QAAQ,KAAKC,SAAS,EAAEpE,MAAM,CAACmE,QAAQ,GAAG,EAAE;AACnF;IACA,OAAOnE,MAAM,CAACqE,oBAAoB;AAClC;IACA,IAAIrE,MAAM,CAACsE,MAAM,EAAE;AACjB,MAAA,MAAMC,kBAAkB,GAAGvE,MAAM,CAACsE,MAAM,CAACE,YAAY;AACrD,MAAA,IAAID,kBAAkB,EAAE;QACtBvE,MAAM,CAACsE,MAAM,GAAG;AAAEE,UAAAA,YAAY,EAAED;SAAoB;AACtD,MAAA,CAAC,MAAM;QACL,OAAOvE,MAAM,CAACsE,MAAM;AACtB,MAAA;AACF,IAAA;AACA;AACA,IAAA,IAAIjB,iBAAiB,KAAK,KAAK,IAAI,CAACrD,MAAM,CAACyE,WAAW,IAAIzE,MAAM,CAAC0E,KAAK,EAAE;AACtE1E,MAAAA,MAAM,CAACyE,WAAW,GAAGzE,MAAM,CAAC0E,KAAK;MACjC,OAAO1E,MAAM,CAAC0E,KAAK;AACrB,IAAA;AACA;AACA,IAAA,IAAI,CAACC,uBAAuB,CAAC3E,MAAM,CAAC;AACpC;AACA,IAAA,MAAM4E,UAAU,GAAGC,IAAI,CAAkC7E,MAAM,CAAC,CAAC4E,UAAU;AAC3E,IAAA,IAAIA,UAAU,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;AAChD,MAAA,KAAK,MAAMrD,IAAI,IAAIqD,UAAU,EAAE;AAC7B,QAAA,MAAME,OAAO,GAAGF,UAAU,CAACrD,IAAI,CAAC;AAChC,QAAA,IAAIuD,OAAO,EAAE;UACXF,UAAU,CAACrD,IAAI,CAAC,GAAG,IAAI,CAACsC,gBAAgB,CAACiB,OAAO,EAAEzB,iBAAiB,CAAC;AACtE,QAAA;AACF,MAAA;AACF,IAAA;AACA;AACA,IAAA,MAAM0B,KAAK,GAAGF,IAAI,CAAkC7E,MAAM,CAAC,CAAC+E,KAAK;AACjE,IAAA,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AACtCF,MAAAA,IAAI,CAAkC7E,MAAM,CAAC,CAAC+E,KAAK,GAAG,IAAI,CAAClB,gBAAgB,CACzEkB,KAAK,EACL1B,iBAAiB,CAClB;AACH,IAAA;AACA;AACA,IAAA,OAAOrD,MAAM;AACf,EAAA;EAEQ2E,uBAAuBA,CAACK,GAAQ,EAAA;AACtC,IAAA,IAAI,CAACA,GAAG,CAACC,YAAY,EAAE;AACvB,IAAA,KAAK,MAAM1B,GAAG,IAAIyB,GAAG,CAACC,YAAY,EAAE;AAClC,MAAA,IAAIC,KAAK,GAAGF,GAAG,CAACC,YAAY,CAAC1B,GAAG,CAAC;AACjC,MAAA,IAAI,OAAO2B,KAAK,KAAK,UAAU,EAAE;QAC/BA,KAAK,GAAGA,KAAK,EAAE;AACjB,MAAA;MACA,MAAMrE,KAAK,GAAGgC,MAAM,CAACsC,MAAM,CAAC,EAAE,EAAEH,GAAG,CAAC;AACpC,MAAA,IAAI,CAACI,KAAK,CAACJ,GAAG,CAACK,SAAS,CAAC,EAAExE,KAAK,CAACyE,OAAO,GAAGN,GAAG,CAACK,SAAS;AACxD,MAAA,IAAI,CAACD,KAAK,CAACJ,GAAG,CAACO,gBAAgB,CAAC,EAAE1E,KAAK,CAACyE,OAAO,GAAGN,GAAG,CAACO,gBAAgB;AACtE,MAAA,IAAI,CAACH,KAAK,CAACJ,GAAG,CAACQ,SAAS,CAAC,EAAE3E,KAAK,CAAC4E,OAAO,GAAGT,GAAG,CAACQ,SAAS;AACxD,MAAA,IAAI,CAACJ,KAAK,CAACJ,GAAG,CAACU,gBAAgB,CAAC,EAAE7E,KAAK,CAAC4E,OAAO,GAAGT,GAAG,CAACU,gBAAgB;AACtEV,MAAAA,GAAG,CAACC,YAAY,CAAC1B,GAAG,CAAC,GAAGoC,cAAc,CACpC,CAACC,IAAY,EAAE,GAAGxE,IAAW,KAAI;AAC/B,QAAA,OAAO,IAAI,CAACyE,GAAG,CAACC,IAAI,CAACF,IAAI,CAACA,IAAI,EAAE,GAAGxE,IAAI,CAAC;AAC1C,MAAA,CAAC,EACD8D,KAAK,EACLrE,KAAK,CACN;AACH,IAAA;AACF,EAAA;AAEOmB,EAAAA,eAAeA,GAAA;AACpB,IAAA,MAAMnC,QAAQ,GAAG,IAAIC,eAAe,EAAE;AACtC;IACA,MAAMiG,qBAAqB,GAAG,IAAI,CAAClF,KAAK,CAACC,MAAM,CAACkF,eAAe;AAC/D,IAAA,KAAK,MAAMzC,GAAG,IAAIwC,qBAAqB,EAAE;AACvC,MAAA,IAAIE,cAAc,GAAGF,qBAAqB,CAACxC,GAAG,CAAC;AAC/C,MAAA,IAAI,OAAO0C,cAAc,KAAK,UAAU,EAAE;QACxCA,cAAc,GAAIA,cAAsB,CAACC,IAAI,CAAC,IAAI,CAACL,GAAG,CAAC;AACzD,MAAA;MACAhG,QAAQ,CAACsG,iBAAiB,CAAC,iBAAiB,EAAE5C,GAAG,EAAE0C,cAAqB,CAAC;AAC3E,IAAA;AACA;IACA,KAAK,MAAMG,SAAS,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE;AACzC,MAAA,MAAMC,WAAW,GAAG,IAAI,CAACpH,IAAI,CAACqH,KAAK,CAACF,SAAS,CAAC,CAACG,sBAAsB,EAAE;AACvE,MAAA,KAAK,MAAMC,UAAU,IAAIH,WAAW,EAAE;AACpC,QAAA,IAAIG,UAAU,CAAC5E,WAAW,CAACD,OAAO,EAAE8E,WAAW,EAAE;UAC/C,MAAMzG,MAAM,GAAGC,OAAO,CAACuG,UAAU,CAAC5E,WAAW,CAAC8E,SAAS,CAAC;UACxD7G,QAAQ,CAACS,QAAQ,CAACkG,UAAU,CAAC5E,WAAW,CAAC1B,YAAY,EAAEF,MAAM,CAAC;AAChE,QAAA;AACF,MAAA;AACF,IAAA;AACA;AACA,IAAA,KAAK,MAAMyB,UAAU,IAAI,IAAI,CAACxC,IAAI,CAACqH,KAAK,CAAC7E,UAAU,CAAC8E,sBAAsB,EAAE,EAAE;AAC5E,MAAA,IAAI,CAACpE,iBAAiB,CACpBtC,QAAQ,EACR4B,UAAU,CAACG,WAAW,CAACQ,MAAM,EAC7BX,UAAU,CAACG,WAAW,CAAC8E,SAAS,CACjC;AACH,IAAA;AACA,IAAA,OAAO7G,QAAQ;AACjB,EAAA;AAEOsC,EAAAA,iBAAiBA,CACtBtC,QAAyB,EACzB8G,UAAkB,EAClBlF,UAAyB,EACzBC,SAAkB,EAClBC,OAAA,GAAkD,EAAE,EAAA;AAEpD;AACA,IAAA,MAAMR,IAAI,GAAGyF,UAAU,CAACC,SAAS,CAACF,UAAU,CAAE;AAC9C;AACA,IAAA,MAAM/E,WAAW,GAAGzB,WAAW,CAAC0B,OAAO,CAACJ,UAAU,CAAC;IACnD,IAAI,CAACG,WAAW,EAAE;AAClB,IAAA,MAAMkF,sBAAsB,GAAGlF,WAAW,CAAC1B,YAAY;AACvD,IAAA,MAAM6G,iBAAiB,GAAGnF,WAAW,CAACD,OAAsC;AAC5E,IAAA,MAAMqF,cAAc,GAAGD,iBAAiB,CAACE,IAAI;IAC7C,MAAMC,wBAAwB,GAAGC,WAAW,CAACC,WAAW,CACtDC,oBAAoB,EACpB5F,UAAU,CACX;IACD,IAAIyF,wBAAwB,EAAEI,OAAO,IAAI,CAAC3F,OAAO,CAACG,eAAe,EAAE;AACnE;IACA,MAAMyF,KAAK,GAAG1E,MAAM,CAAC2E,yBAAyB,CAAC/F,UAAU,CAACqB,SAAS,CAAC;AACpE,IAAA,MAAM2E,UAAU,GAAG/F,SAAS,GAAG,CAACA,SAAS,CAAC,GAAGmB,MAAM,CAAC6E,IAAI,CAACH,KAAK,CAAC;AAC/D,IAAA,KAAK,MAAM7F,SAAS,IAAI+F,UAAU,EAAE;AAClC,MAAA,IAAIE,IAAI,GAAGJ,KAAK,CAAC7F,SAAS,CAAC;AAC3B,MAAA,IAAIA,SAAS,IAAI,CAACiG,IAAI,EAAE;QACtB,IAAI7E,SAAS,GAAGD,MAAM,CAAC+E,cAAc,CAACnG,UAAU,CAACqB,SAAS,CAAC;AAC3D,QAAA,OAAOA,SAAS,IAAI,CAAC6E,IAAI,EAAE;UACzBA,IAAI,GAAG9E,MAAM,CAACgF,wBAAwB,CAAC/E,SAAS,EAAEpB,SAAS,CAAE;AAC7DoB,UAAAA,SAAS,GAAGD,MAAM,CAAC+E,cAAc,CAAC9E,SAAS,CAAC;AAC9C,QAAA;AACF,MAAA;MACA,IAAI,CAAC,aAAa,CAAC,CAACgF,QAAQ,CAACpG,SAAS,CAAC,EAAE;MACzC,IAAI,CAACiG,IAAI,EAAEI,KAAK,IAAI,OAAOJ,IAAI,CAACI,KAAK,KAAK,UAAU,EAAE;MACtD,IAAI,CAACC,yBAAyB,CAC5BnI,QAAQ,EACRsB,IAAI,EACJM,UAAU,EACVG,WAAW,EACXkF,sBAAsB,EACtBE,cAAc,EACdE,wBAAwB,EACxBxF,SAAS,EACTiG,IAAI,EACJhG,OAAO,CACR;AACH,IAAA;AACF,EAAA;EAEQqG,yBAAyBA,CAC/BnI,QAAyB,EACzBsB,IAA4B,EAC5BM,UAAyB,EACzBG,WAAsC,EACtCqG,uBAA+B,EAC/BjB,cAAkC,EAClCE,wBAAqD,EACrDxF,SAAiB,EACjBwG,KAAyB,EACzBvG,OAA+C,EAAA;AAE/C;AACA,IAAA,MAAMkE,GAAG,GAAG,IAAI,CAACA,GAAG;AAEpB;AACA,IAAA,MAAMsC,oBAAoB,GAAGhB,WAAW,CAACC,WAAW,CAClDC,oBAAoB,EACpB5F,UAAU,CAACqB,SAAS,EACpBpB,SAAS,CACV;IACD,IAAIyG,oBAAoB,EAAEb,OAAO,IAAI,CAAC3F,OAAO,CAACG,eAAe,EAAE;AAE/D;AACA,IAAA,IAAI,CAACqF,WAAW,CAACiB,WAAW,CAACC,2BAA2B,EAAE5G,UAAU,CAACqB,SAAS,EAAEpB,SAAS,CAAC,EACxF;AACF,IAAA,MAAM4G,eAAe,GAAGnB,WAAW,CAACC,WAAW,CAC7CiB,2BAA2B,EAC3B5G,UAAU,CAACqB,SAAS,EACpBpB,SAAS,CACT;AACF,IAAA,MAAM6G,UAAU,GAAWD,eAAe,CAACrB,IAAI,IAAI,EAAE;AACrD,IAAA,MAAMuB,YAAY,GAAsBF,eAAe,CAAC7E,MAAM,IAAI,KAAK;AAEvE;AACA,IAAA,MAAMgF,SAAS,GAAG5C,GAAG,CAAC6C,IAAI,CAACC,iCAAiC,CAC1DxH,IAAI,CAACyH,YAAY,EACjB5B,cAAc,EACduB,UAAU,EACV,IAAI,EACJ,IAAI,CACL;AACD;IACA,MAAMM,UAAU,GAAGJ,SAAS,CAACK,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;AAEzD;IACA,IAAIC,IAAI,GAAyBZ,oBAAoB,EAAEY,IAAI,IAAI7B,wBAAwB,EAAE6B,IAAI;IAC7F,IAAI,CAACA,IAAI,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE;MAC9BD,IAAI,GAAG,CACLE,oBAAoB,CAClB,IAAI,CAACpD,GAAG,CAAC6C,IAAI,CAACQ,mBAAmB,CAACtH,WAAW,CAACvB,IAAI,EAAEc,IAAI,CAACyH,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CACnF,CACF;AACH,IAAA;AACA;AACA,IAAA,IAAIO,WAAW,GAAGhB,oBAAoB,EAAEgB,WAAW,IAAIzH,SAAS;IAChEyH,WAAW,GAAG,GAAGJ,IAAI,CAAC,CAAC,CAAC,CAAA,CAAA,EAAII,WAAW,CAAA,CAAE;AACzC;IACA,MAAMC,OAAO,GACXjB,oBAAoB,EAAEkB,MAAM,IAAInC,wBAAwB,EAAEmC,MAAM;AAClE,IAAA,IAAIC,QAAiD;IACrD,IAAI,CAACF,OAAO,EAAE;AACZE,MAAAA,QAAQ,GAAG,CACT;AACEC,QAAAA,UAAU,EAAE;AACb,OAAA,CACF;AACH,IAAA;AACA;IACA1J,QAAQ,CAAC2J,YAAY,CAAC;MACpBT,IAAI;AACJtF,MAAAA,MAAM,EAAE+E,YAAY;AACpBvB,MAAAA,IAAI,EAAE4B,UAAU;MAChBM,WAAW;MACXG,QAAQ;MACR7E,WAAW,EAAE0D,oBAAoB,EAAE1D,WAAqB;MACxDgF,OAAO,EAAEtB,oBAAoB,EAAEsB,OAAiB;AAChDC,MAAAA,OAAO,EAAE,IAAI,CAACC,eAAe,CAC3BxI,IAAI,EACJM,UAAU,EACVC,SAAS,EACTyG,oBAAoB,EACpBjB,wBAAwB,CACzB;MACD0C,SAAS,EAAE,IAAI,CAACC,iBAAiB,CAACpI,UAAU,EAAEC,SAAS,EAAEyG,oBAAoB;AAC9E,KAAA,CAAC;AACJ,EAAA;AAEA;AACO2B,EAAAA,2BAA2BA,CAChCrI,UAAyB,EACzBC,SAAiB,EAAA;AAEjB,IAAA,MAAME,WAAW,GAAGzB,WAAW,CAAC0B,OAAO,CAACJ,UAAU,CAAC;IACnD,IAAI,CAACG,WAAW,EAAE,MAAM,IAAIM,KAAK,CAAC,oBAAoB,CAAC;IACvD,MAAMf,IAAI,GAAGyF,UAAU,CAACC,SAAS,CAACjF,WAAW,CAACQ,MAAM,CAAE;AACtD,IAAA,MAAM+F,oBAAoB,GAAGhB,WAAW,CAACC,WAAW,CAClDC,oBAAoB,EACpB5F,UAAU,CAACqB,SAAS,EACpBpB,SAAS,CACV;IACD,MAAMwF,wBAAwB,GAAGC,WAAW,CAACC,WAAW,CACtDC,oBAAoB,EACpB5F,UAAU,CACX;IACD,MAAM;AAAEiI,MAAAA;AAAO,KAAE,GAAG,IAAI,CAACK,oBAAoB,CAC3C5I,IAAI,EACJM,UAAU,EACVC,SAAS,EACTyG,oBAAoB,EACpBjB,wBAAwB,CACzB;IACD,OAAO;MACLwC,OAAO;MACPM,QAAQ,EAAE,IAAI,CAACC,cAAc,CAACxI,UAAU,EAAEC,SAAS,EAAEyG,oBAAoB,CAAC;AAC1E+B,MAAAA,WAAW,EAAE/B,oBAAoB,EAAE+B,WAAW,IAAI,kBAAkB;AACpEC,MAAAA,cAAc,EAAEhC,oBAAoB;MACpCiC,QAAQ,EAAE,IAAI,CAACC,YAAY,CAAC5I,UAAU,EAAEC,SAAS,CAAC,IAAI;KACvD;AACH,EAAA;EAEQiI,eAAeA,CACrBxI,IAA4B,EAC5BM,UAAyB,EACzBC,SAAiB,EACjByG,oBAAiD,EACjDjB,wBAAqD,EAAA;IAErD,MAAM;AAAEwC,MAAAA,OAAO,EAAEzF,OAAO;AAAEqG,MAAAA;AAAQ,KAAE,GAAG,IAAI,CAACP,oBAAoB,CAC9D5I,IAAI,EACJM,UAAU,EACVC,SAAS,EACTyG,oBAAoB,EACpBjB,wBAAwB,CACzB;IACD,MAAM;MAAEqD,IAAI;MAAE,GAAGb;AAAO,KAAE,GAAGzF,OAAO;AACpC,IAAA,IAAI,CAACsG,IAAI,EAAE,OAAOb,OAAiC;AACnD,IAAA,MAAMQ,WAAW,GAAGI,QAAQ,GAAG,qBAAqB,GAAG,kBAAkB;IACzE,OAAO;AACL,MAAA,GAAGZ,OAAO;AACVa,MAAAA,IAAI,EAAE;QACJpG,QAAQ,EAAEmG,QAAQ,IAAI,CAACC,IAAI,CAACC,SAAS,CAACpG,SAAS,CAAC,CAACqG,OAAO;AACxD1G,QAAAA,OAAO,EAAE;AAAE,UAAA,CAACmG,WAAW,GAAG;AAAElK,YAAAA,MAAM,EAAEuK;AAAI;AAAE;AAC3C;KACwB;AAC7B,EAAA;EAEQR,oBAAoBA,CAC1B5I,IAA4B,EAC5BM,UAAyB,EACzBC,SAAiB,EACjByG,oBAAiD,EACjDjB,wBAAqD,EAAA;AAErD;AACA,IAAA,MAAMkD,QAAQ,GAAG,IAAI,CAACM,gBAAgB,CACpCjJ,UAAU,EACVC,SAAS,EACTyG,oBAAoB,EACpBjB,wBAAwB,CACzB;AACD;IACA,MAAMyD,gBAAgB,GAAQ,EAAE;IAChC,MAAMC,cAAc,GAAQ,EAAE;AAC9B,IAAA,IAAIN,QAAQ;AACZ,IAAA,KAAK,MAAMO,OAAO,IAAIT,QAAQ,IAAI,EAAE,EAAE;MACpC,IAAI,CAACS,OAAO,EAAE;MACd,IAAI,CAAC1H,eAAe,CAAC2E,QAAQ,CAAC+C,OAAO,CAAC3G,IAAI,CAAC,EAAE;AAC7C,MAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC4D,QAAQ,CAAC+C,OAAO,CAAC3G,IAAI,CAAC,EAAE;AAC/DoG,QAAAA,QAAQ,GAAG,IAAI;AACjB,MAAA;MACA,IAAIO,OAAO,CAACC,KAAK,EAAE;AACjB,QAAA,IAAI,CAACH,gBAAgB,CAACE,OAAO,CAAC3G,IAAI,CAAC,EAAE;AACnCyG,UAAAA,gBAAgB,CAACE,OAAO,CAAC3G,IAAI,CAAC,GAAG,EAAE;AACrC,QAAA;AACAyG,QAAAA,gBAAgB,CAACE,OAAO,CAAC3G,IAAI,CAAC,CAAC2G,OAAO,CAACC,KAAK,CAAC,GAAGD,OAAO,CAAC7K,MAAM;AAChE,MAAA,CAAC,MAAM;AACL,QAAA,IAAI,CAAC4K,cAAc,CAACC,OAAO,CAAC3G,IAAI,CAAC,EAAE;UACjC0G,cAAc,CAACC,OAAO,CAAC3G,IAAI,CAAC,GAAG2G,OAAO,CAAC7K,MAAM;AAC/C,QAAA;AACF,MAAA;AACF,IAAA;AACA;IACA,MAAM0J,OAAO,GAA6B,EAAE;AAC5C,IAAA,IAAIY,QAAQ,EAAE;MACZ,MAAMS,SAAS,GAAQ,EAAE;AACzB;AACA,MAAA,IAAIJ,gBAAgB,CAACK,MAAM,EAAEnI,MAAM,CAACsC,MAAM,CAAC4F,SAAS,EAAEJ,gBAAgB,CAACK,MAAM,CAAC;AAC9E,MAAA,IAAIL,gBAAgB,CAACG,KAAK,EAAEjI,MAAM,CAACsC,MAAM,CAAC4F,SAAS,EAAEJ,gBAAgB,CAACG,KAAK,CAAC;AAC5E,MAAA,IAAIH,gBAAgB,CAACM,KAAK,EAAEpI,MAAM,CAACsC,MAAM,CAAC4F,SAAS,EAAEJ,gBAAgB,CAACM,KAAK,CAAC;AAC5E,MAAA,IAAIN,gBAAgB,CAACO,IAAI,EAAErI,MAAM,CAACsC,MAAM,CAAC4F,SAAS,EAAEJ,gBAAgB,CAACO,IAAI,CAAC;MAC1E,IAAIN,cAAc,CAACK,KAAK,EAAEF,SAAS,CAACI,KAAK,GAAGP,cAAc,CAACK,KAAK;MAChEvB,OAAO,CAACa,IAAI,GAAGa,CAAC,CAACC,MAAM,CAACN,SAAS,CAAC;AACpC,IAAA,CAAC,MAAM;AACL,MAAA,KAAK,MAAMO,YAAY,IAAInI,eAAe,EAAE;AAC1C,QAAA,IAAInD,MAAM,GAA0B4K,cAAc,CAACU,YAAY,CAAC;AAChE,QAAA,IAAIX,gBAAgB,CAACW,YAAY,CAAC,EAAE;UAClC,IAAI,CAACtL,MAAM,EAAE;YACXA,MAAM,GAAGoL,CAAC,CAACC,MAAM,CAACV,gBAAgB,CAACW,YAAY,CAAC,CAAC;AACnD,UAAA,CAAC,MAAM;YACLtL,MAAM,GAAIA,MAAc,CAACuL,MAAM,CAACZ,gBAAgB,CAACW,YAAY,CAAC,CAAC;AACjE,UAAA;AACF,QAAA;QACA,IAAI,CAACtL,MAAM,EAAE;AACb;AACA,QAAA,IAAIwL,gBAAgB,CAACxL,MAAM,CAAC,KAAK,KAAK,EAAE;AACtC,UAAA,MAAM,IAAIkC,KAAK,CACb,CAAA,+BAAA,EAAkCf,IAAI,CAACyH,YAAY,CAAA,CAAA,EAAInH,UAAU,CAACpB,IAAI,CAAA,CAAA,EAAIqB,SAAS,CAAA,CAAA,EAAI4J,YAAY,EAAE,CACtG;AACH,QAAA;QACA,MAAMjL,IAAI,GAAGiL,YAAY,KAAK,OAAO,GAAG,QAAQ,GAAGA,YAAY;AAC/D5B,QAAAA,OAAO,CAACrJ,IAAI,CAAC,GAAGL,MAAM;AACxB,MAAA;AACF,IAAA;IAEA,OAAO;MAAE0J,OAAO;MAAEY,QAAQ,EAAE,CAAC,CAACA;KAAU;AAC1C,EAAA;AAEQT,EAAAA,iBAAiBA,CACvBpI,UAAyB,EACzBC,SAAiB,EACjByG,oBAAiD,EAAA;AAEjD;AACA,IAAA,MAAM+B,WAAW,GAAG/B,oBAAoB,EAAE+B,WAAW,IAAI,kBAAkB;AAC3E;AACA,IAAA,MAAMuB,UAAU,GAAG,IAAI,CAACC,gBAAgB,CACtCjK,UAAU,EACVC,SAAS,EACTyG,oBAAoB,EACpB+B,WAAW,CACZ;AACD;AACA,IAAA,MAAMF,QAAQ,GAAG;AACfvF,MAAAA,WAAW,EAAE,EAAE;AACfV,MAAAA,OAAO,EAAE;AACP,QAAA,CAACmG,WAAW,GAAG;AACblK,UAAAA,MAAM,EAAEyL;AACT;AACF;KACF;AACD;AACA,IAAA,MAAM7B,SAAS,GAAG;AAAE,MAAA,GAAG,EAAEI;KAAU;AACnC,IAAA,OAAOJ,SAAS;AAClB,EAAA;EAEQ8B,gBAAgBA,CACtBjK,UAAyB,EACzBC,SAAiB,EACjByG,oBAAiD,EACjD+B,WAAmB,EAAA;IAEnB,MAAMuB,UAAU,GAAG,IAAI,CAACxB,cAAc,CAACxI,UAAU,EAAEC,SAAS,EAAEyG,oBAAoB,CAAC;AACnF;AACA,IAAA,IAAI+B,WAAW,KAAK,kBAAkB,EAAE,OAAOuB,UAAU;AACzD,IAAA,IAAItD,oBAAoB,EAAEwD,iBAAiB,KAAK,KAAK,EAAE,OAAOF,UAAU;AACxE,IAAA,MAAMG,OAAO,GAAGzD,oBAAoB,EAAEwD,iBAAiB,IAAIE,wBAAwB;IACnF,OAAOD,OAAO,CAACH,UAAU,CAAC;AAC5B,EAAA;AAEQxB,EAAAA,cAAcA,CACpBxI,UAAyB,EACzBC,SAAiB,EACjByG,oBAAiD,EAAA;AAEjD,IAAA,IAAIA,oBAAoB,EAAEsD,UAAU,EAAE,OAAOtD,oBAAoB,CAACsD,UAAU;IAC5E,MAAMK,QAAQ,GAAG3E,WAAW,CAAC4E,mBAAmB,CAACtK,UAAU,CAACqB,SAAS,EAAEpB,SAAS,CAAC;IACjF,OAAOzB,OAAO,CAAC6L,QAAe,CAAC;AACjC,EAAA;AAEQzB,EAAAA,YAAYA,CAAC5I,UAAyB,EAAEC,SAAiB,EAAA;AAC/D,IAAA,MAAM0I,QAAQ,GAAGjD,WAAW,CAACC,WAAW,CACtC4E,gCAAgC,EAChCvK,UAAU,CAACqB,SAAS,EACpBpB,SAAS,CACV;AACD,IAAA,OAAO0I,QAAQ,EAAE6B,GAAG,CAACC,IAAI,IAAIA,IAAI,IAAI;AAAE,MAAA,GAAGA,IAAI;AAAEC,MAAAA,KAAK,EAAED,IAAI,CAACC,KAAK,EAAEC,KAAK;AAAE,KAAE,CAAC;AAC/E,EAAA;EAEQ1B,gBAAgBA,CACtBjJ,UAAyB,EACzBC,SAAiB,EACjByG,oBAAiD,EACjDjB,wBAAqD,EAAA;AAErD;IACA,IAAIkD,QAAQ,GAAG,IAAI,CAACC,YAAY,CAAC5I,UAAU,EAAEC,SAAS,CAAC;AACvD;IACA,MAAM2K,UAAU,GAAGxJ,MAAM,CAACsC,MAAM,CAC9B,EAAS,EACT,IAAI,CAACmH,kBAAkB,CAACpF,wBAAwB,EAAEqF,OAAO,CAAC,EAC1D,IAAI,CAACD,kBAAkB,CAACnE,oBAAoB,EAAEoE,OAAO,CAAC,CACvD;AACD,IAAA,IAAIC,aAAa,CAACH,UAAU,CAAC,EAAE,OAAOjC,QAAQ;AAC9C;AACA,IAAA,IAAI,CAACA,QAAQ,EAAEA,QAAQ,GAAG,EAAE;AAC5B,IAAA,IAAIqC,UAAU,GAAGrC,QAAQ,CAACsC,IAAI,CAACR,IAAI,IAAIA,IAAI,EAAEhI,IAAI,KAAK,SAAS,IAAI,CAACgI,IAAI,CAACpB,KAAK,CAAC;IAC/E,IAAI,CAAC2B,UAAU,EAAE;AACfA,MAAAA,UAAU,GAAG;AAAEvI,QAAAA,IAAI,EAAE,SAAS;AAAE4G,QAAAA,KAAK,EAAE1G,SAAS;AAAEpE,QAAAA,MAAM,EAAEoL,CAAC,CAACC,MAAM,CAACgB,UAAU;OAAU;AACvFjC,MAAAA,QAAQ,CAACuC,IAAI,CAACF,UAAW,CAAC;AAC5B,IAAA,CAAC,MAAM;AACL,MAAA,IAAI,CAAEA,UAAU,CAACzM,MAAc,CAACuL,MAAM,EACpC,MAAM,IAAIrJ,KAAK,CAAC,CAAA,6BAAA,EAAgCR,SAAS,EAAE,CAAC;MAC9D+K,UAAU,CAACzM,MAAM,GAAIyM,UAAU,CAACzM,MAAc,CAACuL,MAAM,CAACc,UAAU,CAAC;AACnE,IAAA;AACA,IAAA,OAAOjC,QAAQ;AACjB,EAAA;EAEQkC,kBAAkBA,CAACC,OAAsC,EAAA;IAC/D,IAAI,CAACA,OAAO,EAAE;IACd,MAAMF,UAAU,GAAG,EAAE;AACrB,IAAA,KAAK,MAAMO,MAAM,IAAIL,OAAO,EAAE;AAC5BF,MAAAA,UAAU,CAACO,MAAM,CAACvM,IAAI,CAAC,GAAG+K,CAAC,CAACyB,MAAM,EAAE,CAAC7L,OAAO,CAAC;QAAEyD,WAAW,EAAEmI,MAAM,CAACnI;AAAW,OAAE,CAAC;AACnF,IAAA;AACA,IAAA,OAAO4H,UAAU;AACnB,EAAA;;AAlfWjJ,cAAc,GAAAf,UAAA,CAAA,CAD1ByK,OAAO,EAAE,EAAA5J,QAAA,CAAA;EAAAd,MAAA,EAAA;AAAA,CAAA,CAAA,CACG,EAAAgB,cAAc,CAmf1B;;AC5hBM,IAAM2J,eAAe,GAArB,MAAMA,eACX,SAAQC,sBAAiE,CAAA;AAGzE,EAAA,MAAMC,SAASA,CACbC,IAA0B,EAC1BC,QAA+E,GACnC;;AAPnCJ,eAAe,GAAA1K,UAAA,CAAA,CAD3B+K,WAAW,CAAC;AAAEC,EAAAA,MAAM,EAAE;CAAO,CAAC,EAAAnK,QAAA,CAAA;EAAAd,MAAA,EAAA;AAAA,CAAA,CAAA,CAClB,EAAA2K,eAAe,CAQ3B;;ACXK,SAAUjM,MAAMA,CAACwM,IAAqB,EAAA;EAC1C,OAAO;AACLC,IAAAA,cAAc,EAAE,KAA2B;AAC3C3M,IAAAA,gBAAgB,EAAE;AAChB4M,MAAAA,GAAG,EAAE;AACHxM,QAAAA,OAAO,EAAE,OAAO;AAChBG,QAAAA,IAAI,EAAE;AACJzB,UAAAA,OAAO,EAAE,OAAO;AAChBgF,UAAAA,KAAK,EAAE,MAAM;AACbD,UAAAA,WAAW,EAAE;AACd;OACwB;AAC3BgJ,MAAAA,GAAG,EAAE;AACHzM,QAAAA,OAAO,EAAE,OAAO;AAChBG,QAAAA,IAAI,EAAE;AACJzB,UAAAA,OAAO,EAAE,OAAO;AAChBgF,UAAAA,KAAK,EAAE,MAAM;AACbD,UAAAA,WAAW,EAAE;AACd;AACwB;KAC5B;AACDuB,IAAAA,eAAe,EAAE;AACfuD,MAAAA,UAAU,EAAE;AACVrF,QAAAA,IAAI,EAAE,MAAM;AACZwJ,QAAAA,MAAM,EAAE,QAAQ;AAChBC,QAAAA,YAAY,EAAE;AACf;AACqB;GACzB;AACH;;AC5BM,SAAUC,sBAAsBA,CAACN,IAAqB,EAAA;AAC1D,EAAA,MAAMzN,QAAQ,GAAG,IAAIC,eAAe,EAAE;EACtC,MAAM+N,WAAW,GAAG,IAAInN,mBAAmB,CAACb,QAAQ,CAACY,WAAW,CAAC;EACjEqN,eAAe,CAACD,WAAW,CAAC;AAC9B;AAEA,SAASC,eAAeA,CAACvN,SAAc,EAAA;AACrC,EAAA,MAAMwN,GAAG,GAAGlL,MAAM,CAAC+E,cAAc,CAAC/C,IAAI,CAACtE,SAAS,CAAC,CAACA,SAAS,CAAC;AAC5DwN,EAAAA,GAAG,CAACC,qBAAqB,GAAG,UAAUC,SAAS,EAAA;AAC7C;AACAA,IAAAA,SAAS,GAAGC,WAAW,CAACC,iBAAiB,CAACF,SAAS,CAAC;AACpD,IAAA,MAAMG,KAAK,GAAGF,WAAW,CAACG,QAAQ,CAACJ,SAAS,CAAC;IAC7C,IAAI,CAACG,KAAK,EAAE;AACV,MAAA,OAAO,IAAI,CAACE,oBAAoB,CAACL,SAAS,CAAC;AAC7C,IAAA;IACA,IAAI,IAAI,CAACM,UAAU,CAACH,KAAK,CAAC,KAAKhK,SAAS,EAAE;AACxC,MAAA,IAAI,CAACmK,UAAU,CAACH,KAAK,CAAC,GAAG,IAAI;AAC7B,MAAA,MAAMI,MAAM,GAAG,IAAI,CAACF,oBAAoB,CAACL,SAAS,CAAC;AACnD,MAAA,IAAI,CAACM,UAAU,CAACH,KAAK,CAAC,GAAGI,MAAM;AACjC,IAAA;IACA,OAAO;AAAEC,MAAAA,IAAI,EAAE,IAAI,CAACC,iBAAiB,CAACN,KAAK;KAAG;EAChD,CAAC;AACH;;ACtBM,MAAOO,IAAK,SAAQC,UAAU,CAAA;EAClC,MAAMC,aAAaA,GAAA,CAAI;EACvB,MAAMC,YAAYA,GAAA;AAChBlB,IAAAA,sBAAsB,CAAC,IAAI,CAAC/H,GAAG,CAAC;AAClC,EAAA;AAEA,EAAA,MAAMkJ,YAAYA,CAACC,OAAY,GAAG;AACnC;;ACiGM,IAAMC,mBAAmB,GAAzB,MAAMA,mBAAoB,SAAQC,aAAa,CAAA;AAAzCD,mBAAmB,GAAA5M,UAAA,CAAA,CAD/B8M,KAAK,EAAE,EAAAjM,QAAA,CAAA;EAAAd,MAAA,EAAA;AAAA,CAAA,CAAA,CACK,EAAA6M,mBAAmB,CAAyB;AA2BzD;;"}
@@ -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":"AAAA,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;AAehE,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;IAoCpB,OAAO,CAAC,yBAAyB;IAuFjC,OAAO,CAAC,eAAe;IA+FvB,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,gBAAgB;IAiCxB,OAAO,CAAC,kBAAkB;CAQ3B"}
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"}
@@ -1,4 +1,5 @@
1
1
  import '@cabloy/zod-query';
2
+ export * from './contract.ts';
2
3
  export * from './decorator.ts';
3
4
  export * from './formMeta.ts';
4
5
  export * from './order.ts';
@@ -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.26",
4
- "gitHead": "adfc560c7fbe18fe6aa24a768172c21cf89d7b04",
3
+ "version": "5.1.27",
4
+ "gitHead": "124137dd279fa4cc3f77075d81887c0cad670876",
5
5
  "description": "",
6
6
  "keywords": [
7
7
  "Vona Module"
@@ -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'
@@ -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
- const desc = descs[actionKey];
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.value || typeof desc.value !== 'function') continue;
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: any = {};
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
- const schema = z.object(schemaObj);
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
- // record
379
- if (argumentType === 'body') {
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
- // bodySchema
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 _prepareArgsMeta(
493
+ private _getBodySchema(
450
494
  controller: Constructable,
451
495
  actionKey: string,
452
496
  actionOpenApiOptions: IOpenapiOptions | undefined,
453
- controllerOpenApiOptions: IOpenapiOptions | undefined,
454
- ) {
455
- // meta
456
- let argsMeta = appMetadata.getMetadata<RouteHandlerArgumentMetaDecorator[]>(
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.type === 'headers' && !item.field);
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
+ }
@@ -1,5 +1,6 @@
1
1
  import '@cabloy/zod-query';
2
2
 
3
+ export * from './contract.ts';
3
4
  export * from './decorator.ts';
4
5
  export * from './formMeta.ts';
5
6
  export * from './order.ts';