import { Module } from '@nestjs/common';
import { AtlasProxyModule } from '../atlas-proxy/atlas-proxy.module';
import { ServiceCredentialModule } from '../common/service-credential/service-credential.module';
import { SandboxRunner } from './sandbox/sandbox-runner';
import { BullMqScheduledJobsQueuePort } from './queue/scheduled-jobs-queue.port';
import { ScheduledJobsRuntimeClient } from './scheduled-jobs-runtime.client';
import { ScheduledJobsService } from './scheduled-jobs.service';
import { ScheduledJobsController } from './scheduled-jobs.controller';

@Module({
  imports: [ServiceCredentialModule, AtlasProxyModule],
  controllers: [ScheduledJobsController],
  providers: [
    ScheduledJobsService,
    BullMqScheduledJobsQueuePort,
    SandboxRunner,
    ScheduledJobsRuntimeClient,
  ],
  exports: [
    ScheduledJobsRuntimeClient,
    SandboxRunner,
    BullMqScheduledJobsQueuePort,
    ScheduledJobsService,
  ],
})
export class ScheduledJobsModule {}
