import { Module } from '@nestjs/common'; import { AuthService } from './auth.service'; import { AuthController } from './auth.controller'; import { UsersModule } from '../users/users.module'; import { JwtModule } from '@nestjs/jwt'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { PassportModule } from '@nestjs/passport'; import { JwtStrategy } from './jwt.strategy'; import { MailModule } from '../mail/mail.model' import { GoogleStrategy } from './strategies/google.strategy'; import { ScraperModule } from '../scraper/scraper.module'; @Module({ imports: [ UsersModule, PassportModule, ConfigModule, MailModule, // Login refreshes a stale feed on the way in (see ScraperService.ensureFreshFeed). ScraperModule, JwtModule.registerAsync({ imports: [ConfigModule], inject: [ConfigService], useFactory: (config: ConfigService) => ({ secret: config.get('JWT_ACCESS_SECRET'), // Access token secret signOptions: { expiresIn: config.get('JWT_ACCESS_TTL') || 3600, }, }), }), ], controllers: [AuthController], providers: [AuthService, JwtStrategy, GoogleStrategy], // ⬅️ Add JwtStrategy here exports: [AuthService], }) export class AuthModule {}