import { Module } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; import { JwtModule } from '@nestjs/jwt'; import { PassportModule } from '@nestjs/passport'; import { AuthController } from './auth.controller'; import { GuestAuthService } from './guest-auth.service'; import { TeamAuthService } from './team-auth.service'; import { AuthentikStrategy } from './authentik.strategy'; import { GuestJwtStrategy } from './guest-jwt.strategy'; import { TeamJwtStrategy } from './team-jwt.strategy'; import { TokenVerificationService } from './token-verification.service'; @Module({ imports: [ PassportModule, JwtModule.registerAsync({ inject: [ConfigService], useFactory: (config: ConfigService) => ({ secret: config.getOrThrow('GUEST_JWT_SECRET'), signOptions: { expiresIn: '12h' }, }), }), ], controllers: [AuthController], providers: [ GuestAuthService, TeamAuthService, AuthentikStrategy, GuestJwtStrategy, TeamJwtStrategy, TokenVerificationService, ], exports: [TokenVerificationService, TeamAuthService], }) export class AuthModule {}