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 { AppConfigModule } from 'src/modules/config'; @Module({ imports: [ TypeOrmModule.forFeature([Users, Parents, Children]), forwardRef(() => UserModule), AppConfigModule, 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 {}