37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { AuthService } from './auth.service';
|
|
import { AuthController } from './auth.controller';
|
|
import { UserModule } from 'src/user/user.module';
|
|
import { MailerModule } from 'src/mailer/mailer.module';
|
|
import { PrismaModule } from 'src/prisma/prisma.module';
|
|
import { PassportModule } from '@nestjs/passport';
|
|
import { JwtModule } from '@nestjs/jwt';
|
|
import { JwtStrategy } from './strategies/jwt.strategy';
|
|
import { RTJwtStrategy } from './strategies/rt-jwt.strategy';
|
|
import { GoogleStrategy } from './strategies/google.strategy';
|
|
import { GithubStrategy } from './strategies/github.strategy';
|
|
import { MicrosoftStrategy } from './strategies/microsoft.strategy';
|
|
import { AuthProvider, authProviderCheck } from './helper';
|
|
|
|
@Module({
|
|
imports: [
|
|
PrismaModule,
|
|
UserModule,
|
|
MailerModule,
|
|
PassportModule,
|
|
JwtModule.register({
|
|
secret: process.env.JWT_SECRET,
|
|
}),
|
|
],
|
|
providers: [
|
|
AuthService,
|
|
JwtStrategy,
|
|
RTJwtStrategy,
|
|
...(authProviderCheck(AuthProvider.GOOGLE) ? [GoogleStrategy] : []),
|
|
...(authProviderCheck(AuthProvider.GITHUB) ? [GithubStrategy] : []),
|
|
...(authProviderCheck(AuthProvider.MICROSOFT) ? [MicrosoftStrategy] : []),
|
|
],
|
|
controllers: [AuthController],
|
|
})
|
|
export class AuthModule {}
|