Assist_Design/apps/bff/src/auth/auth.module.ts

47 lines
1.5 KiB
TypeScript
Raw Normal View History

2025-08-21 15:24:40 +09:00
import { Module } from "@nestjs/common";
import { JwtModule } from "@nestjs/jwt";
import { PassportModule } from "@nestjs/passport";
import { ConfigService } from "@nestjs/config";
2025-08-28 16:57:57 +09:00
import { APP_GUARD } from "@nestjs/core";
2025-08-21 15:24:40 +09:00
import { AuthService } from "./auth.service";
import { AuthController } from "./auth.controller";
import { AuthAdminController } from "./auth-admin.controller";
import { UsersModule } from "../users/users.module";
import { MappingsModule } from "../mappings/mappings.module";
import { VendorsModule } from "../vendors/vendors.module";
import { JwtStrategy } from "./strategies/jwt.strategy";
import { LocalStrategy } from "./strategies/local.strategy";
2025-08-28 16:57:57 +09:00
import { GlobalAuthGuard } from "./guards/global-auth.guard";
2025-08-21 15:24:40 +09:00
import { TokenBlacklistService } from "./services/token-blacklist.service";
import { EmailModule } from "../common/email/email.module";
@Module({
imports: [
PassportModule,
JwtModule.registerAsync({
useFactory: (configService: ConfigService) => ({
2025-08-21 15:24:40 +09:00
secret: configService.get("JWT_SECRET"),
signOptions: { expiresIn: configService.get("JWT_EXPIRES_IN", "7d") },
}),
inject: [ConfigService],
}),
UsersModule,
MappingsModule,
VendorsModule,
EmailModule,
],
controllers: [AuthController, AuthAdminController],
2025-08-28 16:57:57 +09:00
providers: [
AuthService,
JwtStrategy,
LocalStrategy,
TokenBlacklistService,
{
provide: APP_GUARD,
useClass: GlobalAuthGuard,
},
],
exports: [AuthService, TokenBlacklistService],
})
export class AuthModule {}