import { Module } from '@nestjs/common'; import { AuthController } from './auth.controller'; import { AuthService } from './auth.service'; import { PassportModule } from '@nestjs/passport'; import { JwtModule } from '@nestjs/jwt'; import { UserModule } from 'src/user/user.module'; import { JwtStrategy } from 'src/jwt/jwt.strategy'; import { Utility } from 'src/common/Utility'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { GoogleStrategy } from 'src/google-oauth/google.strategy'; import { MailModule } from 'src/mail/mail.module'; @Module({ imports: [ ConfigModule.forRoot(), PassportModule.register({ defaultStrategy: 'jwt' }), JwtModule.registerAsync({ imports: [ConfigModule], useFactory: async (configService: ConfigService) => ({ secret: Utility.jwtConfig?.accessToken?.secretOrKey, signOptions: { expiresIn: Utility.jwtConfig?.accessToken?.expiresIn, }, }), inject: [ConfigService], }), UserModule, MailModule ], controllers: [AuthController], providers: [AuthService, JwtStrategy,GoogleStrategy], exports: [AuthService], }) export class AuthModule {}