43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { AuthService } from './auth.service';
|
|
import { UsersModule } from 'src/users/users.module';
|
|
import { PassportModule } from '@nestjs/passport';
|
|
import { AuthController } from './auth.controller';
|
|
import { ConfigModule, ConfigService } from '@nestjs/config';
|
|
import { JwtModule } from '@nestjs/jwt';
|
|
import { JwtOptions } from './jwt.options';
|
|
import { JwtAccessStrategy } from './strategies/jwt-access.strategy';
|
|
import { AuthRefreshService } from './auth.refresh.service';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { AuthRefreshTokenEntity } from './entities/auth.refresh-token.entity';
|
|
import { AuthAccessService } from './auth.access.service';
|
|
import { JwtRefreshStrategy } from './strategies/jwt-refresh.strategy';
|
|
|
|
@Module({
|
|
imports: [
|
|
TypeOrmModule.forFeature([AuthRefreshTokenEntity]),
|
|
ConfigModule,
|
|
UsersModule,
|
|
PassportModule.register({ session: false }),
|
|
JwtModule.registerAsync({
|
|
imports: [ConfigModule],
|
|
extraProviders: [ConfigService],
|
|
useClass: JwtOptions,
|
|
}),
|
|
],
|
|
exports: [
|
|
AuthAccessService,
|
|
AuthRefreshService,
|
|
AuthService,
|
|
],
|
|
providers: [
|
|
AuthAccessService,
|
|
AuthRefreshService,
|
|
AuthService,
|
|
JwtAccessStrategy,
|
|
JwtRefreshStrategy,
|
|
],
|
|
controllers: [AuthController]
|
|
})
|
|
export class AuthModule { }
|