1.0.0 • Published 4 years ago
@brunonunes/nestjs-cqrs-nats-jetstream v1.0.0
Installation
$ yarn install @brunonunes/nestjs-cqrs-nats-jetstream
Description
This module enable NestJS CQRS to work with NATS JetStream.
Setup root app module
import { Module } from '@nestjs/common';
import { JetstreamModule } from '@brunonunes/nestjs-cqrs-nats-jetstream';
@Module({
imports: [
JetstreamModule.register()
]
})
export class AppModule {}
Setup module
Setup feature module
import { Module } from '@nestjs/common';
import {
CommandBus,
CqrsModule,
EventBus
} from '@nestjs/cqrs';
import {
JetstreamModule,
Jetstream,
JetstreamSubscriptionType
} from '@brunonunes/nestjs-cqrs-nats-jetstream';
import {
UserCommandHandlers,
UserCreatedEvent,
UserEventHandlers,
UserQueryHandlers,
} from '../cqrs';
@Module({
imports: [
CqrsModule,
JetstreamModule.registerFeature({
featureStreamName: 'USER',
subscriptions: [
{
name: "con-user-service"
},
],
eventHandlers: {
UserLoggedInEvent: (data) => new UserLoggedInEvent(data),
UserRegisteredEvent: (data) => new UserRegisteredEvent(data),
EmailVerifiedEvent: (data) => new EmailVerifiedEvent(data),
},
}),
],
providers: [
...UserQueryHandlers,
...UserCommandHandlers,
...UserEventHandlers,
],
})
export class UserModule {}
License
This project is MIT licensed.
1.0.0
4 years ago