UNPKG

pg-transactional-outbox

Version:

A PostgreSQL based transactional outbox and inbox pattern implementation to support exactly once message processing (with at least once message delivery).

15 lines 1 kB
import { DatabaseClient } from '../common/database'; import { ListenerConfig } from '../common/listener-config'; import { TransactionalLogger } from '../common/logger'; import { TransactionalMessage } from './transactional-message'; export interface MessageStorage { (message: TransactionalMessage, client: DatabaseClient): Promise<void>; } /** * Initialize the message storage to store outbox or inbox messages in the corresponding table. * @param config The configuration object that defines the values on how to connect to the database and general settings. * @param logger A logger instance for logging trace up to error logs * @returns Initializes the function to store the outbox or inbox message data to the database and provides the shutdown action. */ export declare const initializeMessageStorage: ({ settings, outboxOrInbox, }: Pick<ListenerConfig, "settings" | "outboxOrInbox">, logger: TransactionalLogger) => MessageStorage; //# sourceMappingURL=initialize-message-storage.d.ts.map