From ce4107ddd7615d7ffdd0d450cbcee69be1b6986f Mon Sep 17 00:00:00 2001 From: Sylvain Briat Date: Thu, 7 Dec 2023 11:14:01 +0100 Subject: [PATCH] fix broker queues and keys --- src/app.constants.ts | 18 +++----- .../ad-created.message-handler.ts | 43 +++++++++++-------- src/modules/messager/messager.module.ts | 14 ------ 3 files changed, 33 insertions(+), 42 deletions(-) diff --git a/src/app.constants.ts b/src/app.constants.ts index c4fa1ac..79e219c 100644 --- a/src/app.constants.ts +++ b/src/app.constants.ts @@ -4,19 +4,15 @@ export const SERVICE_NAME = 'matcher'; // grpc export const GRPC_PACKAGE_NAME = 'matcher'; -// messaging +// messaging output +export const MATCHER_AD_CREATED_ROUTING_KEY = 'matcher-ad.created'; +export const MATCHER_AD_CREATION_FAILED_ROUTING_KEY = + 'matcher-ad.creation-failed'; + +// messaging input export const AD_CREATED_MESSAGE_HANDLER = 'adCreated'; export const AD_CREATED_ROUTING_KEY = 'ad.created'; -export const AD_CREATED_QUEUE = 'matcher-ad-created'; -export const AD_UPDATED_MESSAGE_HANDLER = 'adUpdated'; -export const AD_UPDATED_ROUTING_KEY = 'ad.updated'; -export const AD_UPDATED_QUEUE = 'matcher-ad-updated'; -export const AD_DELETED_MESSAGE_HANDLER = 'adDeleted'; -export const AD_DELETED_ROUTING_KEY = 'ad.deleted'; -export const AD_DELETED_QUEUE = 'matcher-ad-deleted'; -export const MATCHER_AD_CREATED_ROUTING_KEY = 'matcher.ad.created'; -export const MATCHER_AD_CREATION_FAILED_ROUTING_KEY = - 'matcher.ad.creation.failed'; +export const AD_CREATED_QUEUE = 'matcher.ad.created'; // health export const GRPC_HEALTH_PACKAGE_NAME = 'health'; diff --git a/src/modules/ad/interface/message-handlers/ad-created.message-handler.ts b/src/modules/ad/interface/message-handlers/ad-created.message-handler.ts index 16006b4..0ef7d85 100644 --- a/src/modules/ad/interface/message-handlers/ad-created.message-handler.ts +++ b/src/modules/ad/interface/message-handlers/ad-created.message-handler.ts @@ -3,7 +3,10 @@ import { RabbitSubscribe } from '@mobicoop/message-broker-module'; import { CommandBus } from '@nestjs/cqrs'; import { CreateAdCommand } from '@modules/ad/core/application/commands/create-ad/create-ad.command'; import { Ad } from './ad.types'; -import { AD_CREATED_MESSAGE_HANDLER } from '@src/app.constants'; +import { + AD_CREATED_MESSAGE_HANDLER, + AD_CREATED_ROUTING_KEY, +} from '@src/app.constants'; @Injectable() export class AdCreatedMessageHandler { @@ -11,23 +14,29 @@ export class AdCreatedMessageHandler { @RabbitSubscribe({ name: AD_CREATED_MESSAGE_HANDLER, + routingKey: AD_CREATED_ROUTING_KEY, }) public async adCreated(message: string) { - const createdAd: Ad = JSON.parse(message); - await this.commandBus.execute( - new CreateAdCommand({ - id: createdAd.aggregateId, - driver: createdAd.driver, - passenger: createdAd.passenger, - frequency: createdAd.frequency, - fromDate: createdAd.fromDate, - toDate: createdAd.toDate, - schedule: createdAd.schedule, - seatsProposed: createdAd.seatsProposed, - seatsRequested: createdAd.seatsRequested, - strict: createdAd.strict, - waypoints: createdAd.waypoints, - }), - ); + try { + const createdAd: Ad = JSON.parse(message); + await this.commandBus.execute( + new CreateAdCommand({ + id: createdAd.aggregateId, + driver: createdAd.driver, + passenger: createdAd.passenger, + frequency: createdAd.frequency, + fromDate: createdAd.fromDate, + toDate: createdAd.toDate, + schedule: createdAd.schedule, + seatsProposed: createdAd.seatsProposed, + seatsRequested: createdAd.seatsRequested, + strict: createdAd.strict, + waypoints: createdAd.waypoints, + }), + ); + } catch (error: any) { + // do not throw error to acknowledge incoming message + // error handling should be done in the command handler, if relevant + } } } diff --git a/src/modules/messager/messager.module.ts b/src/modules/messager/messager.module.ts index 5133dd2..8f58080 100644 --- a/src/modules/messager/messager.module.ts +++ b/src/modules/messager/messager.module.ts @@ -10,12 +10,6 @@ import { AD_CREATED_MESSAGE_HANDLER, AD_CREATED_QUEUE, AD_CREATED_ROUTING_KEY, - AD_DELETED_MESSAGE_HANDLER, - AD_DELETED_QUEUE, - AD_DELETED_ROUTING_KEY, - AD_UPDATED_MESSAGE_HANDLER, - AD_UPDATED_QUEUE, - AD_UPDATED_ROUTING_KEY, SERVICE_NAME, } from '@src/app.constants'; @@ -39,14 +33,6 @@ const imports = [ routingKey: AD_CREATED_ROUTING_KEY, queue: AD_CREATED_QUEUE, }, - [AD_UPDATED_MESSAGE_HANDLER]: { - routingKey: AD_UPDATED_ROUTING_KEY, - queue: AD_UPDATED_QUEUE, - }, - [AD_DELETED_MESSAGE_HANDLER]: { - routingKey: AD_DELETED_ROUTING_KEY, - queue: AD_DELETED_QUEUE, - }, }, }), }),