import { Module } from '@nestjs/common';
import { MulterModule } from '@nestjs/platform-express';
import { ApplicationModule } from '../application/application.module';
import { AuthController } from './controllers/auth.controller';
import { DashboardController } from './controllers/dashboard.controller';
import { ConfigController } from './controllers/config.controller';
import { AuditController } from './controllers/audit.controller';
import { HealthController } from './controllers/health.controller';
import { UsersController } from './controllers/users.controller';
import { SystemAccountsController } from './controllers/system-accounts.controller';
import { ReportsController } from './controllers/reports.controller';
import { ManualMiningController } from './controllers/manual-mining.controller';
import { PendingContributionsController } from './controllers/pending-contributions.controller';
import { BatchMiningController } from './controllers/batch-mining.controller';
import { VersionController } from './controllers/version.controller';
import { UpgradeVersionController } from './controllers/upgrade-version.controller';
import { MobileVersionController } from './controllers/mobile-version.controller';
import { PoolAccountController } from './controllers/pool-account.controller';
import { CapabilityController } from './controllers/capability.controller';
import { AdminNotificationController, MobileNotificationController } from './controllers/notification.controller';
// [2026-03-04] 新增：预种卖出限制管理接口
import { PrePlantingRestrictionController } from './controllers/pre-planting-restriction.controller';

@Module({
  imports: [
    ApplicationModule,
    MulterModule.register({
      limits: {
        fileSize: 500 * 1024 * 1024, // 500MB
      },
    }),
  ],
  controllers: [
    AuthController,
    DashboardController,
    ConfigController,
    AuditController,
    HealthController,
    UsersController,
    SystemAccountsController,
    ReportsController,
    ManualMiningController,
    PendingContributionsController,
    BatchMiningController,
    VersionController,
    UpgradeVersionController,
    MobileVersionController,
    PoolAccountController,
    CapabilityController,
    AdminNotificationController,
    MobileNotificationController,
    PrePlantingRestrictionController, // 预种卖出限制管理
  ],
})
export class ApiModule {}
