@@ -2,11 +2,11 @@ import type { EventEnvelope } from "@domain/events"
22import { Effect } from "effect"
33import type { EachMessagePayload } from "kafkajs"
44import { z } from "zod"
5- import type { KafkaConfig } from "./types .ts"
5+ import { Topics } from "./topics .ts"
66
77export interface RedpandaEventsConsumerConfig {
8- readonly config : KafkaConfig
98 readonly kafka : import ( "kafkajs" ) . Kafka
9+ readonly groupId : string
1010}
1111
1212export const DomainEventSchema = z . object ( {
@@ -34,15 +34,15 @@ const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms))
3434
3535export const createRedpandaEventsConsumer = ( config : RedpandaEventsConsumerConfig ) => {
3636 const consumer = config . kafka . consumer ( {
37- groupId : config . config . groupId ,
37+ groupId : config . groupId ,
3838 } )
3939
4040 let isRunning = false
4141
4242 const start = async ( handler : EventHandler ) : Promise < void > => {
4343 await consumer . connect ( )
4444 await consumer . subscribe ( {
45- topic : config . config . eventsTopic ,
45+ topic : Topics . domainEvents ,
4646 } )
4747
4848 isRunning = true
@@ -104,7 +104,7 @@ export const createRedpandaEventsConsumer = (config: RedpandaEventsConsumerConfi
104104 return {
105105 start,
106106 stop,
107- pause : ( ) => consumer . pause ( [ { topic : config . config . eventsTopic } ] ) ,
108- resume : ( ) => consumer . resume ( [ { topic : config . config . eventsTopic } ] ) ,
107+ pause : ( ) => consumer . pause ( [ { topic : Topics . domainEvents } ] ) ,
108+ resume : ( ) => consumer . resume ( [ { topic : Topics . domainEvents } ] ) ,
109109 }
110110}
0 commit comments