This commit is contained in:
dlandy
2026-03-27 10:18:26 +08:00
commit 40be11adbf
116 changed files with 26138 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
import { NestFactory } from '@nestjs/core';
import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
import { mkdirSync, writeFileSync } from 'fs';
import { join } from 'path';
import { AppModule } from '../src/app.module';
import { PrismaService } from '../src/prisma/prisma.service';
async function generateApiDocs() {
const app = await NestFactory.create(AppModule, {
logger: false,
});
app.setGlobalPrefix('api/v1');
const swaggerConfig = new DocumentBuilder()
.setTitle('ToolsShow Backend API')
.setDescription('Generated OpenAPI document for ToolsShow backend.')
.setVersion('1.0.0')
.addBearerAuth(
{
type: 'http',
scheme: 'bearer',
bearerFormat: 'JWT',
},
'admin-access-token',
)
.build();
const document = SwaggerModule.createDocument(app, swaggerConfig);
const docsDir = join(process.cwd(), 'docs');
mkdirSync(docsDir, { recursive: true });
writeFileSync(join(docsDir, 'openapi.json'), JSON.stringify(document, null, 2), 'utf-8');
const prisma = app.get(PrismaService);
await prisma.$disconnect();
await app.close();
process.exit(0);
}
generateApiDocs().catch((error) => {
console.error(error);
process.exitCode = 1;
});