Files
sf-sim/packages/shared/domain/EventBus.port.ts

13 lines
473 B
TypeScript

import { ConsumeMessage } from "amqplib";
import { DomainEvent, DomainEventSubscriber } from "./DomainEvent";
export interface EventBus {
publish(events: Array<DomainEvent>): Promise<void>;
// Sacado de NEKI, posiblemente no haga falta
addSubscribers(subscribers: Array<DomainEventSubscriber<DomainEvent>>): void;
consume(queue: string, callback: (msg: ConsumeMessage | null) => void): void;
ack(msg: ConsumeMessage): void;
nack(msg: ConsumeMessage): void;
}