import { NestFactory, Reflector } from '@nestjs/core';
import { AppModule } from './app.module';

import * as dotenv from 'dotenv';//Module pour l'utilisation des fichier .env
import { ValidationPipe } from '@nestjs/common';
import "reflect-metadata"
import { JwtAuthGuard } from './gestion-utilisateurs/authentication/jwt-auth.guard';

dotenv.config();

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  
  //Guard pour la sécurisation des routes
  const reflector = app.get(Reflector);
  app.useGlobalGuards(new JwtAuthGuard(reflector)); // 👈 Guard global

  app.useGlobalPipes(new ValidationPipe());//Validation des inputs
  app.setGlobalPrefix('api')
  await app.listen(process.env.APP_PORT ?? 3000);
}
bootstrap();
