From df4e42ae66250789e886e503b2b233d143d726d3 Mon Sep 17 00:00:00 2001 From: sdraris Date: Thu, 28 Aug 2025 12:05:48 +0200 Subject: [PATCH] edited app module + main --- src/app.module.ts | 106 ++++++++++++++++++++++++---------------------- src/main.ts | 5 ++- 2 files changed, 58 insertions(+), 53 deletions(-) diff --git a/src/app.module.ts b/src/app.module.ts index 7328f16..61376ca 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -1,55 +1,59 @@ -import { Module } from '@nestjs/common'; -import { ConfigModule, ConfigService } from '@nestjs/config'; -import { AppController } from './app.controller'; -import { AppService } from './app.service'; -import appConfig from './config/app.config'; -import databaseConfig from './config/database.config'; -import jwtConfig from './config/jwt.config'; -import { configValidationSchema } from './config/validation.schema'; -import { UserModule } from './routes/user/user.module'; -import { TypeOrmModule } from '@nestjs/typeorm'; -import { AllExceptionsFilter } from './common/filters/all_exceptions.filters'; -import { APP_FILTER, APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core'; -import { TransformInterceptor } from './common/interceptors/transform.interceptor'; -import { RolesGuard } from './common/guards/roles.guard'; -import { ParentsModule } from './routes/parents/parents.module'; + import { Module } from '@nestjs/common'; + import { ConfigModule, ConfigService } from '@nestjs/config'; + import { AppController } from './app.controller'; + import { AppService } from './app.service'; + import appConfig from './config/app.config'; + import databaseConfig from './config/database.config'; + import jwtConfig from './config/jwt.config'; + import { configValidationSchema } from './config/validation.schema'; + import { UserModule } from './routes/user/user.module'; + import { TypeOrmModule } from '@nestjs/typeorm'; + import { AllExceptionsFilter } from './common/filters/all_exceptions.filters'; + import { APP_FILTER, APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core'; + import { TransformInterceptor } from './common/interceptors/transform.interceptor'; + import { RolesGuard } from './common/guards/roles.guard'; + import { ParentsModule } from './routes/parents/parents.module'; + import { JwtModule } from '@nestjs/jwt'; + import { AuthModule } from './routes/auth/auth.module'; -@Module({ - imports: [ - ConfigModule.forRoot({ - // Gestion dynamique des fichiers .env - envFilePath: [`.env.${process.env.NODE_ENV || 'development'}`, '.env'], + @Module({ + imports: [ + ConfigModule.forRoot({ + // Gestion dynamique des fichiers .env + envFilePath: [`.env.${process.env.NODE_ENV || 'development'}`, '.env'], - // Chargement de configurations typées - load: [appConfig, databaseConfig, jwtConfig], + // Chargement de configurations typées + load: [appConfig, databaseConfig, jwtConfig], - isGlobal: true, - validationSchema: configValidationSchema, - }), - TypeOrmModule.forRootAsync({ - imports: [ConfigModule], - inject: [ConfigService], - useFactory: (config: ConfigService) => ({ - type: 'postgres', - host: config.get('database.host'), - port: config.get('database.port'), - username: config.get('database.username'), - password: config.get('database.password'), - database: config.get('database.name'), - entities: [__dirname + '/**/*.entity{.ts,.js}'], - synchronize: false, - migrations: [__dirname + '/migrations/**/*{.ts,.js}'], - logging: true, + isGlobal: true, + validationSchema: configValidationSchema, }), - }), - UserModule, - ParentsModule, - ], - controllers: [AppController], - providers: [AppService, - { provide: APP_FILTER, useClass: AllExceptionsFilter }, - { provide: APP_INTERCEPTOR, useClass: TransformInterceptor }, - { provide: APP_GUARD, useClass: RolesGuard } - ], -}) -export class AppModule {} + TypeOrmModule.forRootAsync({ + imports: [ConfigModule, + ], + inject: [ConfigService], + useFactory: (config: ConfigService) => ({ + type: 'postgres', + host: config.get('database.host'), + port: config.get('database.port'), + username: config.get('database.username'), + password: config.get('database.password'), + database: config.get('database.name'), + entities: [__dirname + '/**/*.entity{.ts,.js}'], + synchronize: false, + migrations: [__dirname + '/migrations/**/*{.ts,.js}'], + logging: true, + }), + }), + UserModule, + ParentsModule, + AuthModule, + ], + controllers: [AppController], + providers: [AppService, + { provide: APP_FILTER, useClass: AllExceptionsFilter }, + { provide: APP_INTERCEPTOR, useClass: TransformInterceptor }, + { provide: APP_GUARD, useClass: RolesGuard } + ], + }) + export class AppModule { } diff --git a/src/main.ts b/src/main.ts index ed371b1..ae3f818 100644 --- a/src/main.ts +++ b/src/main.ts @@ -25,12 +25,13 @@ async function bootstrap() { const reflector = app.get(Reflector); app.useGlobalGuards( - new AuthGuard(app.get(JwtService)), - new RolesGuard(reflector) + new AuthGuard(app.get(JwtService), app.get(Reflector)), + new RolesGuard(app.get(Reflector)) ); await app.listen(port); console.log(`✅ P'titsPas API is running on: ${await app.getUrl()}`); + console.log(process.env.POSTGRES_DB); } bootstrap().catch((err) => {