import { Module } from '@nestjs/common';
import { AuthService } from './auth.service.js';
import { AuthController } from './auth.controller.js';
import { UsersModule } from '../users/users.module.js';
import { AccessTokenGuard } from './access-token.guard.js';
import { WechatMiniAppService } from './wechat-miniapp/wechat-miniapp.service.js';
import { MiniAppAuthService } from './miniapp-auth/miniapp-auth.service.js';

/**
 * 认证模块：聚合认证控制器、服务与基础鉴权守卫。
 */
@Module({
  imports: [UsersModule],
  providers: [AuthService, AccessTokenGuard, WechatMiniAppService, MiniAppAuthService],
  controllers: [AuthController],
  exports: [AuthService, AccessTokenGuard, WechatMiniAppService, MiniAppAuthService],
})
export class AuthModule {}
