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 +24 -0
- package/dist/service/openapi.d.ts +2 -0
- package/package.json +1 -1
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;
|