Skip to content

Commit 0682d30

Browse files
zzswangxuna
andauthored
fix: swagger one of (#77)
解决 swagger oneOf 没有正确生成的问题 ### 相关资料 - close #76 --------- Co-authored-by: xuna <xuna08@gmail.com>
1 parent 435ceb9 commit 0682d30

33 files changed

+1122
-1668
lines changed

bin/generate-swagger.js

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,17 @@ const commander = require('commander');
66

77
const { AppModule } = require('../dist/app.module');
88
const { SHA256 } = require('crypto-js');
9+
const { ListUsersQuery } = require('../dist/user/dto/list-users.dto');
10+
const { ListNamespacesQuery } = require('../dist/namespace/dto/list-namespaces.dto');
11+
const { GetAuthorizerQuery } = require('../dist/auth/dto/authorize-query.dto');
12+
const { ListCaptchasQuery } = require('../dist/captcha/dto/list-captchas.dto');
13+
const { ListEmailRecordsQuery } = require('../dist/email/dto/list-email-records.dto');
14+
const { ListGroupsQuery } = require('../dist/group/dto/list-groups.dto');
15+
const { ListIndustriesQuery } = require('../dist/industry/dto/list-industries.dto');
16+
const { ListRolesQuery } = require('../dist/role/dto/list-roles.dto');
17+
const { ListSessionsQuery } = require('../dist/session/dto/list-sessions.dto');
18+
const { ListSmsRecordsQuery } = require('../dist/sms/dto/list-sms-records.dto');
19+
const { ListThirdPartyQuery } = require('../dist/third-party/dto/list-third-party.dto');
920

1021
async function bootstrap(prefix) {
1122
const app = await NestFactory.create(AppModule, { logger: false });
@@ -14,7 +25,7 @@ async function bootstrap(prefix) {
1425
const config = new DocumentBuilder()
1526
.setTitle('Auth API Server')
1627
.setDescription('Auth API for auth service')
17-
.setVersion('1.0')
28+
.setVersion('2.0')
1829
.addApiKey(
1930
{
2031
in: 'header',
@@ -25,7 +36,21 @@ async function bootstrap(prefix) {
2536
)
2637
.build();
2738

28-
const document = SwaggerModule.createDocument(app, config);
39+
const document = SwaggerModule.createDocument(app, config, {
40+
extraModels: [
41+
ListUsersQuery,
42+
ListNamespacesQuery,
43+
GetAuthorizerQuery,
44+
ListCaptchasQuery,
45+
ListEmailRecordsQuery,
46+
ListGroupsQuery,
47+
ListIndustriesQuery,
48+
ListRolesQuery,
49+
ListSessionsQuery,
50+
ListSmsRecordsQuery,
51+
ListThirdPartyQuery,
52+
],
53+
});
2954
const documentWithSha = {
3055
hash: SHA256(JSON.stringify(document, null, 2)).toString(),
3156
...document,

0 commit comments

Comments
 (0)