Files
fiberops-api-admin/src/main.ts
2026-04-13 09:43:35 +08:00

46 lines
1.1 KiB
TypeScript

import { NestFactory } from '@nestjs/core';
import { ValidationPipe } from '@nestjs/common';
import helmet from 'helmet';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule, {
logger: ['error', 'warn', 'log'],
});
app.use(
helmet({
contentSecurityPolicy: false,
crossOriginEmbedderPolicy: false,
}),
);
const allowedOrigins = (
process.env.CORS_ORIGIN ||
'http://localhost:3000,http://localhost:3002,http://localhost:3003'
).split(',');
app.enableCors({
origin: allowedOrigins,
credentials: true,
methods: ['GET', 'POST', 'PATCH', 'DELETE', 'OPTIONS'],
allowedHeaders: ['Content-Type', 'Authorization', 'x-tenant-id'],
});
app.setGlobalPrefix('api');
app.useGlobalPipes(
new ValidationPipe({
whitelist: true,
forbidNonWhitelisted: true,
transform: true,
transformOptions: { enableImplicitConversion: true },
}),
);
const port = process.env.ADMIN_API_PORT || 3004;
await app.listen(port, '0.0.0.0');
console.log(`Admin API running on http://localhost:${port}/api`);
}
bootstrap();