vona-module-a-openapi 5.0.27 → 5.0.28

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/index.js CHANGED
@@ -200,6 +200,30 @@ let ServiceOpenapi = (_dec$2 = Service(), _dec2$2 = BeanInfo({
200
200
  this._translate(apiObj, 'rest');
201
201
  return apiObj;
202
202
  }
203
+
204
+ // need not cache
205
+ async generateJsonOfClass(schemaClass, version = 'V31') {
206
+ return await this.generateJsonOfClasses([schemaClass], version);
207
+ }
208
+
209
+ // need not cache
210
+ async generateJsonOfClasses(schemaClasses, version = 'V31') {
211
+ const registry = new OpenAPIRegistry();
212
+ // schema: independent
213
+ let counter = 0;
214
+ for (const schemaClass of schemaClasses) {
215
+ const schema = $schema(schemaClass);
216
+ let beanFullName = appResource.getBeanFullName(schemaClass);
217
+ if (!beanFullName) {
218
+ beanFullName = `${schemaClass.name}_${counter++}`;
219
+ }
220
+ registry.register(beanFullName, schema);
221
+ }
222
+ const generator = version === 'V30' ? new OpenApiGeneratorV3(registry.definitions) : new OpenApiGeneratorV31(registry.definitions);
223
+ const apiObj = generator.generateDocument(this.scope.config.generateDocument[version]);
224
+ this._translate(apiObj, 'rest');
225
+ return apiObj;
226
+ }
203
227
  _translate(apiObj, generateJsonScene) {
204
228
  // paths
205
229
  if (apiObj.paths) {
@@ -6,6 +6,8 @@ export declare class ServiceOpenapi extends BeanBase {
6
6
  protected generateJsonOfControllerActionCacheKey(args: any[], prop: string): string;
7
7
  generateJson<K extends keyof IOpenapiObject>(version?: K): Promise<IOpenapiObject[K]>;
8
8
  generateJsonOfControllerAction<K extends keyof IOpenapiObject>(controller: Constructable, actionKey: string, version?: K): Promise<IOpenapiObject[K]>;
9
+ generateJsonOfClass<K extends keyof IOpenapiObject>(schemaClass: Constructable, version?: K): Promise<IOpenapiObject[K]>;
10
+ generateJsonOfClasses<K extends keyof IOpenapiObject>(schemaClasses: Constructable[], version?: K): Promise<IOpenapiObject[K]>;
9
11
  private _translate;
10
12
  private _translateSchema;
11
13
  private _translateStrings;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vona-module-a-openapi",
3
3
  "type": "module",
4
- "version": "5.0.27",
4
+ "version": "5.0.28",
5
5
  "title": "a-openapi",
6
6
  "vonaModule": {
7
7
  "capabilities": {