edited app module + main

This commit is contained in:
sdraris 2025-08-28 12:05:48 +02:00
parent be3cd41521
commit df4e42ae66
2 changed files with 58 additions and 53 deletions

View File

@ -1,20 +1,22 @@
import { Module } from '@nestjs/common'; import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config'; import { ConfigModule, ConfigService } from '@nestjs/config';
import { AppController } from './app.controller'; import { AppController } from './app.controller';
import { AppService } from './app.service'; import { AppService } from './app.service';
import appConfig from './config/app.config'; import appConfig from './config/app.config';
import databaseConfig from './config/database.config'; import databaseConfig from './config/database.config';
import jwtConfig from './config/jwt.config'; import jwtConfig from './config/jwt.config';
import { configValidationSchema } from './config/validation.schema'; import { configValidationSchema } from './config/validation.schema';
import { UserModule } from './routes/user/user.module'; import { UserModule } from './routes/user/user.module';
import { TypeOrmModule } from '@nestjs/typeorm'; import { TypeOrmModule } from '@nestjs/typeorm';
import { AllExceptionsFilter } from './common/filters/all_exceptions.filters'; import { AllExceptionsFilter } from './common/filters/all_exceptions.filters';
import { APP_FILTER, APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core'; import { APP_FILTER, APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core';
import { TransformInterceptor } from './common/interceptors/transform.interceptor'; import { TransformInterceptor } from './common/interceptors/transform.interceptor';
import { RolesGuard } from './common/guards/roles.guard'; import { RolesGuard } from './common/guards/roles.guard';
import { ParentsModule } from './routes/parents/parents.module'; import { ParentsModule } from './routes/parents/parents.module';
import { JwtModule } from '@nestjs/jwt';
import { AuthModule } from './routes/auth/auth.module';
@Module({ @Module({
imports: [ imports: [
ConfigModule.forRoot({ ConfigModule.forRoot({
// Gestion dynamique des fichiers .env // Gestion dynamique des fichiers .env
@ -27,7 +29,8 @@ import { ParentsModule } from './routes/parents/parents.module';
validationSchema: configValidationSchema, validationSchema: configValidationSchema,
}), }),
TypeOrmModule.forRootAsync({ TypeOrmModule.forRootAsync({
imports: [ConfigModule], imports: [ConfigModule,
],
inject: [ConfigService], inject: [ConfigService],
useFactory: (config: ConfigService) => ({ useFactory: (config: ConfigService) => ({
type: 'postgres', type: 'postgres',
@ -44,6 +47,7 @@ import { ParentsModule } from './routes/parents/parents.module';
}), }),
UserModule, UserModule,
ParentsModule, ParentsModule,
AuthModule,
], ],
controllers: [AppController], controllers: [AppController],
providers: [AppService, providers: [AppService,
@ -51,5 +55,5 @@ import { ParentsModule } from './routes/parents/parents.module';
{ provide: APP_INTERCEPTOR, useClass: TransformInterceptor }, { provide: APP_INTERCEPTOR, useClass: TransformInterceptor },
{ provide: APP_GUARD, useClass: RolesGuard } { provide: APP_GUARD, useClass: RolesGuard }
], ],
}) })
export class AppModule {} export class AppModule { }

View File

@ -25,12 +25,13 @@ async function bootstrap() {
const reflector = app.get(Reflector); const reflector = app.get(Reflector);
app.useGlobalGuards( app.useGlobalGuards(
new AuthGuard(app.get(JwtService)), new AuthGuard(app.get(JwtService), app.get(Reflector)),
new RolesGuard(reflector) new RolesGuard(app.get(Reflector))
); );
await app.listen(port); await app.listen(port);
console.log(`✅ P'titsPas API is running on: ${await app.getUrl()}`); console.log(`✅ P'titsPas API is running on: ${await app.getUrl()}`);
console.log(process.env.POSTGRES_DB);
} }
bootstrap().catch((err) => { bootstrap().catch((err) => {