import { Global, Module } from '@nestjs/common'; import { createQueueAdapter, type QueueAdapter } from '@mosaic/queue'; import { QueueService } from './queue.service.js'; export const QUEUE_ADAPTER = 'QUEUE_ADAPTER'; @Global() @Module({ providers: [ QueueService, { provide: QUEUE_ADAPTER, useFactory: (): QueueAdapter => createQueueAdapter({ type: 'bullmq', url: process.env['VALKEY_URL'], }), }, ], exports: [QueueService, QUEUE_ADAPTER], }) export class QueueModule {}