import { Module } from '@nestjs/common';
import { PrismaModule } from '@core/database/prisma/prisma.module';
import { AiUsageIngestionController } from './controllers/ingestion.controller';
import { AiUsageMeController } from './controllers/me.controller';
import { AiUsageAdminController } from './controllers/admin.controller';
import { AiUsageTokenService } from './services/token.service';
import { AiUsageIngestionService } from './services/ingestion.service';
import { AiUsageDashboardService } from './services/dashboard.service';
import { AiUsageDeviceService } from './services/device.service';
import { AiUsageArchivalService } from './services/archival.service';
import { AiUsagePricingService } from './services/pricing.service';

@Module({
  imports: [PrismaModule],
  controllers: [AiUsageIngestionController, AiUsageMeController, AiUsageAdminController],
  providers: [
    AiUsageTokenService,
    AiUsageIngestionService,
    AiUsageDashboardService,
    AiUsageDeviceService,
    AiUsageArchivalService,
    AiUsagePricingService,
  ],
  exports: [AiUsageTokenService, AiUsagePricingService],
})
export class AiUsageModule {}
