Files
web-crm.mcmed.ru/backend/src/main.ts
Viktoria Polyakova de283d2a93 fix: remove unused ValidationPipe import in main.ts
The ValidationPipe import was commented out and not being used in the code. This commit removes the unused import to clean up the code and avoid potential confusion. The Logger import remains active and is still in use.
2026-01-25 22:06:44 +00:00

79 lines
2.4 KiB
TypeScript

import { webcrypto } from 'crypto';
import { NestFactory } from '@nestjs/core';
// Polyfill crypto for @nestjs/typeorm
if (!global.crypto) {
global.crypto = webcrypto as any;
}
import { Logger } from '@nestjs/common';
//import { Logger, ValidationPipe } from '@nestjs/common';
import { NestExpressApplication } from '@nestjs/platform-express';
import { utilities, WinstonModule } from 'nest-winston';
import winston from 'winston';
import cookieParser from 'cookie-parser';
import { AppModule } from './app.module';
import { ApiDocumentation } from './documentation';
import { extractSubdomain, LoggingInterceptor } from './common';
function getLogger() {
return process.env.WINSTON_ENABLED === 'true'
? WinstonModule.createLogger({
level: 'debug',
transports: [
new winston.transports.Console({
format: winston.format.combine(
winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss.SSS' }),
utilities.format.nestLike(process.env.APPLICATION_NAME, { colors: true, prettyPrint: true }),
),
}),
],
})
: undefined;
}
async function bootstrap() {
if (process.env.NEW_RELIC_ENABLED === 'true') {
// eslint-disable-next-line @typescript-eslint/no-require-imports
require('newrelic');
}
const app = await NestFactory.create<NestExpressApplication>(AppModule, { rawBody: true, logger: getLogger() });
app.enableCors({
origin: process.env['FRONTEND_URL'] || 'http://localhost:3000',
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS',
credentials: true,
allowedHeaders: ['Content-Type', 'Authorization', 'X-CSRF-Token']
});
app.set('trust proxy', true);
app.use(cookieParser());
app.use(extractSubdomain);
app.setGlobalPrefix('api');
//Global validation
// app.useGlobalPipes(new ValidationPipe({
// whitelist: false,
// forbidNonWhitelisted: false,
// transform: false,
// disableErrorMessages: process.env['NODE_ENV'] === 'production'
// }));
app.useGlobalInterceptors(new LoggingInterceptor());
ApiDocumentation.configure(app);
const logger = new Logger('main');
process.on('uncaughtException', (error) => {
logger.error(`Uncaught Exception`, error.stack);
});
await app.listen(process.env.APPLICATION_PORT, '127.0.0.1');
logger.log(`Application is running on: ${await app.getUrl()}`);
logger.log(`Application version is: ${process.env.npm_package_version}`);
}
bootstrap();