import { forwardRef, Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { AuthController } from './auth.controller'; import { AuthService } from './auth.service'; import { UserModule } from '../user/user.module'; import { JwtModule } from '@nestjs/jwt'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { Users } from 'src/entities/users.entity'; import { Parents } from 'src/entities/parents.entity'; import { Children } from 'src/entities/children.entity'; import { AssistanteMaternelle } from 'src/entities/assistantes_maternelles.entity'; import { AppConfigModule } from 'src/modules/config'; import { NumeroDossierModule } from 'src/modules/numero-dossier/numero-dossier.module'; import { MailModule } from 'src/modules/mail/mail.module'; import { ParentsModule } from '../parents/parents.module'; import { DossiersModule } from '../dossiers/dossiers.module'; import { DossierFamille, DossierFamilleEnfant } from 'src/entities/dossier_famille.entity'; import { ParentsChildren } from 'src/entities/parents_children.entity'; @Module({ imports: [ TypeOrmModule.forFeature([ Users, Parents, Children, AssistanteMaternelle, DossierFamille, DossierFamilleEnfant, ParentsChildren, ]), forwardRef(() => UserModule), ParentsModule, DossiersModule, AppConfigModule, MailModule, NumeroDossierModule, JwtModule.registerAsync({ imports: [ConfigModule], useFactory: (config: ConfigService) => ({ secret: config.get('jwt.secret'), signOptions: { expiresIn: config.get('jwt.expirationTime') }, }), inject: [ConfigService], }) ], controllers: [AuthController], providers: [AuthService], exports: [AuthService, JwtModule], }) export class AuthModule {}