Files
wwjcloud-nest-v1/wwjcloud/src/common/auth/auth.module.ts
2025-09-11 22:06:19 +08:00

75 lines
2.6 KiB
TypeScript

import { Module, forwardRef, Global } from '@nestjs/common';
import { PassportModule } from '@nestjs/passport';
import { TypeOrmModule } from '@nestjs/typeorm';
import { ConfigModule } from '@nestjs/config';
import { AuthToken } from './entities/AuthToken';
import { AuthService } from './services/AuthService';
import { AuthController } from './controllers/AuthController';
import { LoginApiController } from './controllers/api/LoginApiController';
import { LoginConfigApiController } from './controllers/api/LoginConfigApiController';
import { RegisterApiController } from './controllers/api/RegisterApiController';
import { CaptchaController } from './controllers/adminapi/CaptchaController';
import { LoginConfigController } from './controllers/adminapi/LoginConfigController';
import { LoginApiService } from './services/api/LoginApiService';
import { LoginConfigApiService } from './services/api/LoginConfigApiService';
import { RegisterApiService } from './services/api/RegisterApiService';
import { CaptchaService } from './services/admin/CaptchaService';
import { LoginConfigService } from './services/admin/LoginConfigService';
import { CoreAuthService } from './services/core/CoreAuthService';
import { CoreCaptchaService } from './services/core/CoreCaptchaService';
import { CoreLoginConfigService } from './services/core/CoreLoginConfigService';
import { JwtAuthGuard } from './guards/JwtAuthGuard';
import { RolesGuard } from './guards/RolesGuard';
import { JwtGlobalModule } from './jwt.module';
// 导入Admin和Member模块
import { AdminModule } from '../admin/admin.module';
import { MemberModule } from '../member/member.module';
@Global()
@Module({
imports: [
PassportModule,
TypeOrmModule.forFeature([AuthToken]),
JwtGlobalModule,
// 导入Admin和Member模块以使用其服务
forwardRef(() => AdminModule),
forwardRef(() => MemberModule),
],
providers: [
AuthService,
LoginApiService,
LoginConfigApiService,
RegisterApiService,
CaptchaService,
LoginConfigService,
CoreAuthService,
CoreCaptchaService,
CoreLoginConfigService,
JwtAuthGuard,
RolesGuard
],
controllers: [
AuthController,
LoginApiController,
LoginConfigApiController,
RegisterApiController,
CaptchaController,
LoginConfigController
],
exports: [
AuthService,
LoginApiService,
LoginConfigApiService,
RegisterApiService,
CaptchaService,
LoginConfigService,
CoreAuthService,
CoreCaptchaService,
CoreLoginConfigService,
JwtAuthGuard,
RolesGuard
],
})
export class AuthModule {}