matcher/src/modules/ad/ad.modules.ts

38 lines
1.1 KiB
TypeScript
Raw Normal View History

2023-04-24 14:44:52 +00:00
import { RabbitMQModule } from '@golevelup/nestjs-rabbitmq';
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { AdMessagerController } from './adapters/primaries/ad-messager.controller';
@Module({
imports: [
RabbitMQModule.forRootAsync(RabbitMQModule, {
imports: [ConfigModule],
useFactory: async (configService: ConfigService) => ({
exchanges: [
{
name: configService.get<string>('RMQ_EXCHANGE'),
type: 'topic',
},
],
handlers: {
adCreated: {
exchange: configService.get<string>('RMQ_EXCHANGE'),
routingKey: 'ad.created',
2023-04-24 14:55:14 +00:00
queue: `${configService.get<string>(
'RMQ_EXCHANGE',
)}-matcher-ad-created`,
2023-04-24 14:44:52 +00:00
},
},
uri: configService.get<string>('RMQ_URI'),
2023-04-24 14:55:14 +00:00
connectionInitOptions: { wait: false },
2023-04-24 14:44:52 +00:00
enableControllerDiscovery: true,
}),
inject: [ConfigService],
}),
],
controllers: [AdMessagerController],
providers: [],
exports: [],
})
export class AdModule {}