import { Module } from '@nestjs/common'; import { BullModule } from '@nestjs/bull'; import { SubscriptionsController } from './subscriptions.controller'; import { SubscriptionsService } from './subscriptions.service'; import { SubscriptionScheduler } from './schedulers/subscription.scheduler'; import { SubscriptionProcessor } from './processors/subscription.processor'; import { PlanService } from './services/plan.service'; import { BillingService } from './services/billing.service'; import { PrismaService } from '../../shared/services/prisma.service'; import { PaymentsModule } from '../payments/payments.module'; import { NotificationsModule } from '../notifications/notifications.module'; import { HttpModule } from '@nestjs/axios'; @Module({ imports: [ HttpModule, BullModule.registerQueue({ name: 'subscriptions', }), BullModule.registerQueue({ name: 'billing', }), PaymentsModule, NotificationsModule, ], controllers: [SubscriptionsController], providers: [ SubscriptionsService, SubscriptionScheduler, SubscriptionProcessor, PlanService, BillingService, PrismaService, ], exports: [SubscriptionsService, PlanService], }) export class SubscriptionsModule {}