/opt/mawid/apps/api/src/waitlist
Edit: /opt/mawid/apps/api/src/waitlist/waitlist.module.ts (1056B)
import { Module, type Provider } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import { Queue } from 'bullmq';
import IORedis from 'ioredis';
import { RemindersModule } from '../reminders/reminders.module';
import { WaCoreModule } from '../whatsapp/wa-core.module';
import { WAITLIST_QUEUE, WAITLIST_QUEUE_NAME } from './waitlist-queue';
import { WaitlistReplyService } from './waitlist-reply.service';
import { WaitlistService } from './waitlist.service';
import { WaitlistWorker } from './waitlist.worker';
const queueProvider: Provider = {
provide: WAITLIST_QUEUE,
inject: [ConfigService],
useFactory: (config: ConfigService) =>
new Queue(WAITLIST_QUEUE_NAME, {
connection: new IORedis(config.getOrThrow
('REDIS_URL'), {
maxRetriesPerRequest: null,
}),
}),
};
@Module({
imports: [WaCoreModule, RemindersModule],
providers: [queueProvider, WaitlistService, WaitlistWorker, WaitlistReplyService],
exports: [WaitlistService, WaitlistReplyService],
})
export class WaitlistModule {}