import { Module } from '@nestjs/common';
import { ApprovalController } from './approval.controller';
import { ApprovalService } from './approval.service';
import { AdminApprovalService } from './admin-approval.service';
import { AdminAnalyticsService } from './admin-analytics.service';
import { AdminConfigService } from './admin-config.service';
import { AdminExportService } from './admin-export.service';
import { DefinitionService } from './definition.service';
import { TemporalService } from './temporal/temporal.service';  // 使用审批引擎专用的 TemporalService
import { BusinessTypeRegistry } from './business-type-registry.service';
import { PrismaModule } from '@core/database/prisma/prisma.module';
import { NotificationModule } from '@core/messaging/notification/notification.module';
import { AuditModule } from '@core/observability/audit/audit.module';  // ⭐ 导入审计模块

@Module({
  imports: [PrismaModule, NotificationModule, AuditModule],  // ⭐ 添加 AuditModule
  controllers: [ApprovalController],
  providers: [
    ApprovalService,
    AdminApprovalService,
    AdminAnalyticsService,
    AdminConfigService,
    AdminExportService,
    DefinitionService,
    TemporalService,
    BusinessTypeRegistry,
  ],
  exports: [
    ApprovalService,
    AdminApprovalService,
    AdminAnalyticsService,
    AdminConfigService,
    AdminExportService,
    DefinitionService,
    TemporalService,
    BusinessTypeRegistry,
  ],
})
export class ApprovalModule {}
