import { Module } from '@nestjs/common';
import { BancardVposService } from './bancard.service';
import { BancardTokenService } from './bancard-token.service';
import { BancardConfigService } from './bancard-config.service';
import { BancardLogService } from './bancard-log.service';
import { BancardMockService } from './bancard-mock.service';
import { BancardPostPagoHook } from './bancard-post-pago.hook';
import { PagoLinkService } from './pago-link.service';
import { BancardController } from './bancard.controller';
import { BancardConfigController } from './bancard-config.controller';
import { BancardWebhookController } from './bancard-webhook.controller';
import { PagoPublicoController } from './pago-publico.controller';
import { PrismaModule } from 'src/prisma/prisma.module';
import { ContabilidadModule } from 'src/contabilidad/contabilidad.module';

@Module({
  imports: [PrismaModule, ContabilidadModule],
  controllers: [
    BancardController,
    BancardConfigController,
    BancardWebhookController,
    PagoPublicoController,
  ],
  providers: [
    BancardVposService,
    BancardTokenService,
    BancardConfigService,
    BancardLogService,
    BancardMockService,
    BancardPostPagoHook,
    PagoLinkService,
  ],
  exports: [BancardVposService, BancardConfigService, BancardMockService, PagoLinkService, BancardPostPagoHook],
})
export class BancardModule {}
