1.0.11 • Published 1 year ago
bc-event-store v1.0.11
Installation
$ yarn add bc-event-store
Description
This module aims to bridge the gap between NestJs and popular event store broker Event Store.
Usage
Setup root app module
import { EventStoreModule } from 'bc-event-store';
@Module({
imports: [
CqrsModule,
EventStoreModule.register({
connectionOptions: {
endpoint: 'esdb://localhost:2113',
},
}),
]
})
export class AppModule {}
Setup feature module
import { CqrsModule } from '@nestjs/cqrs';
import { Module } from '@nestjs/common';
import { BuyerCreatedEvent } from './events/impl/buyer-created.event';
import { BuyerUpdatedEvent } from './events/impl/buyer-updated.event';
import { EventStoreModule } from 'bc-event-store';
@Module({
imports: [
CqrsModule,
EventStoreModule.registerFeature({
featureStreamName: '$et-buyers',
subscriptions: [
{
type: EventStoreSubscriptionType.CatchUp,
stream: '$et-buyers',
resolveLinkTos: true,
},
],
eventHandlers: {
BuyerCreatedEvent: (data) => new BuyerCreatedEvent(data.buyerDto),
BuyerUpdatedEvent: (data) =>
new BuyerUpdatedEvent(data.buyerId, data.buyerDto),
},
}),
],