UNPKG

@nestjs-cqrs-eventsourcing/core

Version:

Event sourcing for nestjs CQRS

22 lines (21 loc) 1.18 kB
import { IEventBus } from '@nestjs/cqrs/dist/interfaces'; import { StorableEvent, UserAwareEventInterface } from './types/types'; import { ViewEventBus } from './view/view-event-bus'; import { DistributedLockService } from './distributed-lock.service'; import { EventstoreInterface } from '@nestjs-cqrs-eventsourcing/core/src/eventstore/eventstore.interface'; export type StoreEventBusOptions = { getUserId?: (request: unknown) => unknown; parseUserId?: (userId: unknown) => unknown; }; export declare class StoreEventBus<EventBase extends StorableEvent = StorableEvent> implements IEventBus<EventBase> { private readonly viewEventBus; private readonly eventStore; private readonly dls; private readonly options?; constructor(viewEventBus: ViewEventBus, eventStore: EventstoreInterface, dls: DistributedLockService, options?: StoreEventBusOptions); publish<T extends UserAwareEventInterface, TContext = unknown>(_event: T, _context?: TContext): Promise<void>; publishAll<TEvent extends EventBase, TContext = unknown>(events: TEvent[], request?: TContext): Promise<void>; private getAggregateId; private storeEvent; private getUserId; }