From 9e6fc04344ad68292b9aefeae173ae01d3bf8589 Mon Sep 17 00:00:00 2001 From: hailin Date: Wed, 10 Dec 2025 10:36:55 -0800 Subject: [PATCH] fix(reward): register EventConsumerController to enable Kafka consumption MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit EventConsumerController was not registered in KafkaModule, causing @MessagePattern('planting.order.paid') to never be subscribed. This resulted in reward-service having empty memberAssignment. Also added forwardRef to resolve circular dependency between ApplicationModule and InfrastructureModule. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../src/application/application.module.ts | 4 ++-- .../src/infrastructure/kafka/kafka.module.ts | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/backend/services/reward-service/src/application/application.module.ts b/backend/services/reward-service/src/application/application.module.ts index 60c1bbbc..587a96c6 100644 --- a/backend/services/reward-service/src/application/application.module.ts +++ b/backend/services/reward-service/src/application/application.module.ts @@ -1,4 +1,4 @@ -import { Module } from '@nestjs/common'; +import { Module, forwardRef } from '@nestjs/common'; import { ScheduleModule } from '@nestjs/schedule'; import { RewardApplicationService } from './services/reward-application.service'; import { RewardExpirationScheduler } from './schedulers/reward-expiration.scheduler'; @@ -9,7 +9,7 @@ import { InfrastructureModule } from '../infrastructure/infrastructure.module'; imports: [ ScheduleModule.forRoot(), DomainModule, - InfrastructureModule, + forwardRef(() => InfrastructureModule), ], providers: [ RewardApplicationService, diff --git a/backend/services/reward-service/src/infrastructure/kafka/kafka.module.ts b/backend/services/reward-service/src/infrastructure/kafka/kafka.module.ts index 4317b731..0f0442fb 100644 --- a/backend/services/reward-service/src/infrastructure/kafka/kafka.module.ts +++ b/backend/services/reward-service/src/infrastructure/kafka/kafka.module.ts @@ -1,10 +1,14 @@ -import { Module } from '@nestjs/common'; +import { Module, forwardRef } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { ClientsModule, Transport } from '@nestjs/microservices'; import { EventPublisherService } from './event-publisher.service'; +import { EventConsumerController } from './event-consumer.controller'; +import { EventAckPublisher } from './event-ack.publisher'; +import { ApplicationModule } from '../../application/application.module'; @Module({ imports: [ + forwardRef(() => ApplicationModule), ClientsModule.registerAsync([ { name: 'KAFKA_SERVICE', @@ -25,7 +29,8 @@ import { EventPublisherService } from './event-publisher.service'; }, ]), ], - providers: [EventPublisherService], - exports: [EventPublisherService, ClientsModule], + controllers: [EventConsumerController], + providers: [EventPublisherService, EventAckPublisher], + exports: [EventPublisherService, EventAckPublisher, ClientsModule], }) export class KafkaModule {}