import { Module } from '@nestjs/common';
import { OutboxModule } from '../outbox/outbox.module';
import { InteractionsModule } from '../interactions/interactions.module';
import { CapabilityModule } from '../capability/capability.module';
import { AdapterRegistry } from './adapter.registry';
import { InboundService } from './inbound.service';
import { OutboundService } from './outbound.service';
import { RawEventProjector } from './raw-event.projector';
import { AdaptersController } from './adapters.controller';

@Module({
  imports: [OutboxModule, InteractionsModule, CapabilityModule],
  controllers: [AdaptersController],
  providers: [AdapterRegistry, InboundService, OutboundService, RawEventProjector],
  exports: [AdapterRegistry, InboundService, OutboundService],
})
export class AdaptersModule {}
