32 lines
1.1 KiB
TypeScript

import { Module, forwardRef } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { JwtModule } from '@nestjs/jwt';
import { PassportModule } from '@nestjs/passport';
import { AuthController } from './auth.controller';
import { AuthService } from './auth.service';
import { JwtStrategy } from './strategies/jwt.strategy';
import { UserProfile } from '../entities/user-profile.entity';
import { UserIdentity } from '../entities/user-identity.entity';
import { PaymentsModule } from '../payments/payments.module';
import { MetricsModule } from '../metrics/metrics.module';
@Module({
imports: [
TypeOrmModule.forFeature([UserProfile, UserIdentity]),
PassportModule,
JwtModule.registerAsync({
useFactory: () => ({
secret:
process.env.JWT_ACCESS_SECRET || 'default-secret-change-in-production',
signOptions: { expiresIn: process.env.JWT_ACCESS_EXPIRATION || '2h' },
}),
}),
forwardRef(() => PaymentsModule),
MetricsModule,
],
controllers: [AuthController],
providers: [AuthService, JwtStrategy],
exports: [AuthService],
})
export class AuthModule {}