2024-12-02 14:25:36 +00:00
|
|
|
import { ClassSerializerInterceptor, ValidationPipe } from "@nestjs/common";
|
2024-12-02 12:57:47 +00:00
|
|
|
import { NestFactory, Reflector } from "@nestjs/core";
|
2024-12-02 14:25:36 +00:00
|
|
|
import { DocumentBuilder, SwaggerModule } from "@nestjs/swagger";
|
2024-11-23 00:37:22 +00:00
|
|
|
import { AppModule } from "./app.module";
|
|
|
|
|
|
|
|
async function bootstrap() {
|
2024-11-28 14:25:01 +00:00
|
|
|
const app = await NestFactory.create(AppModule);
|
2024-11-25 21:55:25 +00:00
|
|
|
|
2024-11-24 01:34:20 +00:00
|
|
|
app.enableCors({
|
2024-11-25 21:55:25 +00:00
|
|
|
origin: "*",
|
2024-11-24 01:34:20 +00:00
|
|
|
});
|
2024-11-25 21:55:25 +00:00
|
|
|
|
2024-11-28 14:53:38 +00:00
|
|
|
app.useGlobalPipes(new ValidationPipe());
|
|
|
|
|
2024-12-02 14:25:36 +00:00
|
|
|
app.useGlobalInterceptors(
|
|
|
|
new ClassSerializerInterceptor(app.get(Reflector), {
|
|
|
|
excludeExtraneousValues: true,
|
|
|
|
}),
|
|
|
|
);
|
|
|
|
|
|
|
|
const config = new DocumentBuilder()
|
|
|
|
.setTitle("Toogether API")
|
|
|
|
.addBearerAuth()
|
|
|
|
.build();
|
|
|
|
const documentFactory = () => SwaggerModule.createDocument(app, config);
|
|
|
|
SwaggerModule.setup("documentation", app, documentFactory, {
|
|
|
|
swaggerOptions: {
|
|
|
|
tryItOutEnabled: true,
|
|
|
|
persistAuthorization: true,
|
|
|
|
}
|
|
|
|
});
|
2024-12-02 12:57:47 +00:00
|
|
|
|
2024-11-25 21:55:25 +00:00
|
|
|
await app.listen(process.env.PORT ?? 3000, "0.0.0.0");
|
2024-11-23 00:37:22 +00:00
|
|
|
}
|
|
|
|
bootstrap();
|