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).

27 lines 1.35 kB
import { OutboxOrInbox } from '../common/listener-config'; export interface DatabaseSetupConfig { outboxOrInbox: OutboxOrInbox; database: string; schema: string; table: string; listenerRole: string; handlerRole?: string; } export interface DatabaseReplicationSetupConfig extends DatabaseSetupConfig { publication: string; replicationSlot: string; } export interface DatabasePollingSetupConfig extends DatabaseSetupConfig { nextMessagesSchema?: string; nextMessagesName: string; } export declare const DatabaseSetup: { dropAndCreateTable: ({ outboxOrInbox, schema, table, }: DatabaseSetupConfig) => string; dropAndCreateHandlerAndListenerRoles: ({ database, listenerRole, handlerRole, }: DatabaseSetupConfig) => string; grantPermissions: ({ handlerRole, listenerRole, schema, table, }: DatabaseSetupConfig) => string; setupReplicationCore: ({ listenerRole, publication, schema, table, }: DatabaseReplicationSetupConfig) => string; setupReplicationSlot: ({ replicationSlot, }: DatabaseReplicationSetupConfig) => string; createPollingFunction: ({ schema, table, nextMessagesSchema, nextMessagesName, }: DatabasePollingSetupConfig) => string; setupPollingIndexes: ({ schema, table, outboxOrInbox, }: DatabasePollingSetupConfig) => string; }; //# sourceMappingURL=database-setup.d.ts.map