import { Module } from '@nestjs/common';
import { ApplicationModule } from '../application/application.module';
import { InfrastructureModule } from '../infrastructure/infrastructure.module';
import { TradingController } from './controllers/trading.controller';
import { TransferController } from './controllers/transfer.controller';
import { P2pTransferController } from './controllers/p2p-transfer.controller';
import { HealthController } from './controllers/health.controller';
import { AdminController } from './controllers/admin.controller';
import { PriceController } from './controllers/price.controller';
import { BurnController } from './controllers/burn.controller';
import { AssetController } from './controllers/asset.controller';
import { MarketMakerController } from './controllers/market-maker.controller';
import { C2cController } from './controllers/c2c.controller';
import { C2cBotController } from './controllers/c2c-bot.controller';
import { PriceGateway } from './gateways/price.gateway';

@Module({
  imports: [ApplicationModule, InfrastructureModule],
  controllers: [
    TradingController,
    TransferController,
    P2pTransferController,
    HealthController,
    AdminController,
    PriceController,
    BurnController,
    AssetController,
    MarketMakerController,
    C2cController,
    C2cBotController,
  ],
  providers: [PriceGateway],
  exports: [PriceGateway],
})
export class ApiModule {}
