Skip to content

@nestarc/outbox

Classes

LocalTransport

Defined in: src/transports/local.transport.ts:10

Implements

Constructors

Constructor
ts
new LocalTransport(tenantProvider?): LocalTransport;

Defined in: src/transports/local.transport.ts:11

Parameters
ParameterType
tenantProvider?OutboxTenantProvider | null
Returns

LocalTransport

Methods

dispatch()
ts
dispatch(
   record,
   handlers,
context?): Promise<void>;

Defined in: src/transports/local.transport.ts:17

Parameters
ParameterType
recordOutboxRecord
handlersOutboxHandler[]
contextOutboxHandlerContext
Returns

Promise<void>

Implementation of

OutboxTransport.dispatch


OutboxAdminService

Defined in: src/outbox.admin.service.ts:38

Constructors

Constructor
ts
new OutboxAdminService(options): OutboxAdminService;

Defined in: src/outbox.admin.service.ts:39

Parameters
ParameterType
optionsOutboxOptions
Returns

OutboxAdminService

Methods

getById()
ts
getById(id): Promise<OutboxRecord | null>;

Defined in: src/outbox.admin.service.ts:124

Parameters
ParameterType
idstring
Returns

Promise<OutboxRecord | null>

getHealth()
ts
getHealth(options?): Promise<OutboxHealth>;

Defined in: src/outbox.admin.service.ts:215

Parameters
ParameterType
optionsOutboxHealthOptions
Returns

Promise<OutboxHealth>

getStats()
ts
getStats(): Promise<OutboxStats>;

Defined in: src/outbox.admin.service.ts:41

Returns

Promise<OutboxStats>

list()
ts
list(options?): Promise<OutboxRecord[]>;

Defined in: src/outbox.admin.service.ts:77

Parameters
ParameterType
optionsOutboxListOptions
Returns

Promise<OutboxRecord[]>

markFailed()
ts
markFailed(id, reason): Promise<boolean>;

Defined in: src/outbox.admin.service.ts:177

Parameters
ParameterType
idstring
reasonstring
Returns

Promise<boolean>

purgeSent()
ts
purgeSent(options): Promise<number>;

Defined in: src/outbox.admin.service.ts:193

Parameters
ParameterType
options{ before: Date; limit?: number; }
options.beforeDate
options.limit?number
Returns

Promise<number>

retry()
ts
retry(id): Promise<boolean>;

Defined in: src/outbox.admin.service.ts:138

Parameters
ParameterType
idstring
Returns

Promise<boolean>

retryMany()
ts
retryMany(ids): Promise<number>;

Defined in: src/outbox.admin.service.ts:155

Parameters
ParameterType
idsstring[]
Returns

Promise<number>


OutboxEmitter

Defined in: src/outbox.emitter.ts:37

Constructors

Constructor
ts
new OutboxEmitter(options, tenantProvider?): OutboxEmitter;

Defined in: src/outbox.emitter.ts:41

Parameters
ParameterType
optionsOutboxOptions
tenantProvider?OutboxTenantProvider | null
Returns

OutboxEmitter

Methods

emit()
ts
emit(
   tx,
   event,
options?): Promise<void>;

Defined in: src/outbox.emitter.ts:50

Parameters
ParameterType
txPrismaTransactionClient
eventOutboxEvent
options?OutboxEmitOptions
Returns

Promise<void>

emitMany()
ts
emitMany(tx, events): Promise<void>;

Defined in: src/outbox.emitter.ts:92

Parameters
ParameterType
txPrismaTransactionClient
eventsOutboxEmitManyEntry[]
Returns

Promise<void>


abstract OutboxEvent

Defined in: src/outbox.event.ts:1

Constructors

Constructor
ts
new OutboxEvent(): OutboxEvent;
Returns

OutboxEvent

Methods

getEventType()
ts
getEventType(): string;

Defined in: src/outbox.event.ts:10

Returns

string

toPayload()
ts
toPayload(): Record<string, unknown>;

Defined in: src/outbox.event.ts:2

Returns

Record<string, unknown>


OutboxListener

Defined in: src/outbox.listener.ts:24

Implements

  • OnModuleInit
  • OnApplicationShutdown

Constructors

Constructor
ts
new OutboxListener(options, poller): OutboxListener;

Defined in: src/outbox.listener.ts:30

Parameters
ParameterType
optionsOutboxOptions
pollerPick<OutboxPoller, "poll">
Returns

OutboxListener

Methods

onApplicationShutdown()
ts
onApplicationShutdown(): Promise<void>;

Defined in: src/outbox.listener.ts:41

Returns

Promise<void>

Implementation of
ts
OnApplicationShutdown.onApplicationShutdown

onModuleInit()
ts
onModuleInit(): Promise<void>;

Defined in: src/outbox.listener.ts:36

Returns

Promise<void>

Implementation of
ts
OnModuleInit.onModuleInit

OutboxModule

Defined in: src/outbox.module.ts:28

Constructors

Constructor
ts
new OutboxModule(): OutboxModule;
Returns

OutboxModule

Methods

forRoot()
ts
static forRoot(options): DynamicModule;

Defined in: src/outbox.module.ts:29

Parameters
ParameterType
optionsOutboxOptions
Returns

DynamicModule

forRootAsync()
ts
static forRootAsync(options): DynamicModule;

Defined in: src/outbox.module.ts:79

Parameters
ParameterType
optionsOutboxAsyncOptions
Returns

DynamicModule

Interfaces

OutboxAsyncOptions

Defined in: src/interfaces/outbox-options.interface.ts:44

Extends

  • Pick<ModuleMetadata, "imports">

Properties

imports?
ts
optional imports?: (
  | DynamicModule
  | Type<any>
  | Promise<DynamicModule>
  | ForwardReference<any>)[];

Defined in: node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.d.ts:18

Optional list of imported modules that export the providers which are required in this module.

Inherited from
ts
Pick.imports

inject?
ts
optional inject?: any[];

Defined in: src/interfaces/outbox-options.interface.ts:45

isGlobal?
ts
optional isGlobal?: boolean;

Defined in: src/interfaces/outbox-options.interface.ts:51

transport?
ts
optional transport?: Type<
  | OutboxTransport
| OutboxPublisher>;

Defined in: src/interfaces/outbox-options.interface.ts:50

Custom transport class. Defaults to LocalTransport.

useClass?
ts
optional useClass?: Type<OutboxOptionsFactory>;

Defined in: src/interfaces/outbox-options.interface.ts:47

useExisting?
ts
optional useExisting?: Type<OutboxOptionsFactory>;

Defined in: src/interfaces/outbox-options.interface.ts:48

useFactory?
ts
optional useFactory?: (...args) =>
  | OutboxOptions
| Promise<OutboxOptions>;

Defined in: src/interfaces/outbox-options.interface.ts:46

Parameters
ParameterType
...argsany[]
Returns

| OutboxOptions | Promise<OutboxOptions>


OutboxDeliveryOptions

Defined in: src/interfaces/outbox-options.interface.ts:20

Properties

mode?
ts
optional mode?: "local" | "publisher";

Defined in: src/interfaces/outbox-options.interface.ts:21


OutboxDispatchContext

Defined in: src/interfaces/outbox-hooks.interface.ts:14

Extended by

Properties

aggregateId
ts
aggregateId: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:22

aggregateType
ts
aggregateType: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:21

causationId
ts
causationId: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:26

correlationId
ts
correlationId: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:25

eventId
ts
eventId: string;

Defined in: src/interfaces/outbox-hooks.interface.ts:16

eventType
ts
eventType: string;

Defined in: src/interfaces/outbox-hooks.interface.ts:17

headers
ts
headers: Record<string, string>;

Defined in: src/interfaces/outbox-hooks.interface.ts:27

idempotencyKey
ts
idempotencyKey: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:24

maxRetries
ts
maxRetries: number;

Defined in: src/interfaces/outbox-hooks.interface.ts:20

partitionKey
ts
partitionKey: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:23

record
ts
record: OutboxRecord;

Defined in: src/interfaces/outbox-hooks.interface.ts:15

retryCount
ts
retryCount: number;

Defined in: src/interfaces/outbox-hooks.interface.ts:19

tenantId
ts
tenantId: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:18


OutboxEmitContext

Defined in: src/interfaces/outbox-hooks.interface.ts:4

Extends

Properties

aggregateId
ts
aggregateId: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:6

Inherited from

OutboxEmitOptions.aggregateId

aggregateType
ts
aggregateType: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:5

Inherited from

OutboxEmitOptions.aggregateType

causationId
ts
causationId: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:10

Inherited from

OutboxEmitOptions.causationId

correlationId
ts
correlationId: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:9

Inherited from

OutboxEmitOptions.correlationId

eventType
ts
eventType: string;

Defined in: src/interfaces/outbox-hooks.interface.ts:5

headers
ts
headers: Record<string, string>;

Defined in: src/interfaces/outbox-emit-options.interface.ts:11

Inherited from

OutboxEmitOptions.headers

idempotencyKey
ts
idempotencyKey: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:8

Inherited from

OutboxEmitOptions.idempotencyKey

occurredAt
ts
occurredAt: Date | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:12

Inherited from

OutboxEmitOptions.occurredAt

partitionKey
ts
partitionKey: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:7

Inherited from

OutboxEmitOptions.partitionKey

payload
ts
payload: Record<string, unknown>;

Defined in: src/interfaces/outbox-hooks.interface.ts:6

tenantId
ts
tenantId: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:4

Inherited from

OutboxEmitOptions.tenantId


OutboxEmitOptions

Defined in: src/interfaces/outbox-emit-options.interface.ts:3

Properties

aggregateId?
ts
optional aggregateId?: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:6

aggregateType?
ts
optional aggregateType?: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:5

causationId?
ts
optional causationId?: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:10

correlationId?
ts
optional correlationId?: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:9

headers?
ts
optional headers?: Record<string, string>;

Defined in: src/interfaces/outbox-emit-options.interface.ts:11

idempotencyKey?
ts
optional idempotencyKey?: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:8

occurredAt?
ts
optional occurredAt?: Date | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:12

partitionKey?
ts
optional partitionKey?: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:7

tenantId?
ts
optional tenantId?: string | null;

Defined in: src/interfaces/outbox-emit-options.interface.ts:4


OutboxHandler

Defined in: src/interfaces/outbox-handler.interface.ts:1

Properties

eventTypes
ts
eventTypes: string[];

Defined in: src/interfaces/outbox-handler.interface.ts:4

instance
ts
instance: Record<string, any>;

Defined in: src/interfaces/outbox-handler.interface.ts:2

methodName
ts
methodName: string;

Defined in: src/interfaces/outbox-handler.interface.ts:3


OutboxHandlerContext

Defined in: src/interfaces/outbox-handler-context.interface.ts:3

Properties

eventId
ts
eventId: string;

Defined in: src/interfaces/outbox-handler-context.interface.ts:5

eventType
ts
eventType: string;

Defined in: src/interfaces/outbox-handler-context.interface.ts:6

headers
ts
headers: Record<string, string>;

Defined in: src/interfaces/outbox-handler-context.interface.ts:9

record
ts
record: OutboxRecord;

Defined in: src/interfaces/outbox-handler-context.interface.ts:4

retryCount
ts
retryCount: number;

Defined in: src/interfaces/outbox-handler-context.interface.ts:8

tenantId
ts
tenantId: string | null;

Defined in: src/interfaces/outbox-handler-context.interface.ts:7


OutboxHealth

Defined in: src/interfaces/outbox-admin.interface.ts:26

Properties

ok
ts
ok: boolean;

Defined in: src/interfaces/outbox-admin.interface.ts:27

reasons
ts
reasons: string[];

Defined in: src/interfaces/outbox-admin.interface.ts:29

stats
ts
stats: OutboxStats;

Defined in: src/interfaces/outbox-admin.interface.ts:28


OutboxHealthOptions

Defined in: src/interfaces/outbox-admin.interface.ts:21

Properties

maxFailedCount?
ts
optional maxFailedCount?: number;

Defined in: src/interfaces/outbox-admin.interface.ts:23

maxOldestPendingAgeMs?
ts
optional maxOldestPendingAgeMs?: number;

Defined in: src/interfaces/outbox-admin.interface.ts:22


OutboxHooks

Defined in: src/interfaces/outbox-hooks.interface.ts:36

Methods

onDeadLetter()?
ts
optional onDeadLetter(context): void | Promise<void>;

Defined in: src/interfaces/outbox-hooks.interface.ts:50

Parameters
ParameterType
contextOutboxRetryContext
Returns

void | Promise<void>

onDispatchFailure()?
ts
optional onDispatchFailure(context): void | Promise<void>;

Defined in: src/interfaces/outbox-hooks.interface.ts:43

Parameters
ParameterType
contextOutboxDispatchContext & { durationMs: number; error: Error; }
Returns

void | Promise<void>

onDispatchStart()?
ts
optional onDispatchStart(context): void | Promise<void>;

Defined in: src/interfaces/outbox-hooks.interface.ts:39

Parameters
ParameterType
contextOutboxDispatchContext
Returns

void | Promise<void>

onDispatchSuccess()?
ts
optional onDispatchSuccess(context): void | Promise<void>;

Defined in: src/interfaces/outbox-hooks.interface.ts:40

Parameters
ParameterType
contextOutboxDispatchContext & { durationMs: number; }
Returns

void | Promise<void>

onEmit()?
ts
optional onEmit(context): void | Promise<void>;

Defined in: src/interfaces/outbox-hooks.interface.ts:37

Parameters
ParameterType
contextOutboxEmitContext
Returns

void | Promise<void>

onPollStart()?
ts
optional onPollStart(context): void | Promise<void>;

Defined in: src/interfaces/outbox-hooks.interface.ts:38

Parameters
ParameterType
contextOutboxPollContext
Returns

void | Promise<void>

onRetryScheduled()?
ts
optional onRetryScheduled(context): void | Promise<void>;

Defined in: src/interfaces/outbox-hooks.interface.ts:49

Parameters
ParameterType
contextOutboxRetryContext
Returns

void | Promise<void>


OutboxListOptions

Defined in: src/interfaces/outbox-admin.interface.ts:12

Properties

after?
ts
optional after?: Date;

Defined in: src/interfaces/outbox-admin.interface.ts:18

before?
ts
optional before?: Date;

Defined in: src/interfaces/outbox-admin.interface.ts:17

eventType?
ts
optional eventType?: string;

Defined in: src/interfaces/outbox-admin.interface.ts:14

limit?
ts
optional limit?: number;

Defined in: src/interfaces/outbox-admin.interface.ts:16

status?
ts
optional status?: "PENDING" | "PROCESSING" | "SENT" | "FAILED";

Defined in: src/interfaces/outbox-admin.interface.ts:13

tenantId?
ts
optional tenantId?: string;

Defined in: src/interfaces/outbox-admin.interface.ts:15


OutboxNotification

Defined in: src/interfaces/outbox-wakeup.interface.ts:1

Properties

channel
ts
channel: string;

Defined in: src/interfaces/outbox-wakeup.interface.ts:2

payload?
ts
optional payload?: string;

Defined in: src/interfaces/outbox-wakeup.interface.ts:3


OutboxNotificationClient

Defined in: src/interfaces/outbox-wakeup.interface.ts:6

Methods

connect()
ts
connect(): Promise<void>;

Defined in: src/interfaces/outbox-wakeup.interface.ts:7

Returns

Promise<void>

end()
ts
end(): Promise<void>;

Defined in: src/interfaces/outbox-wakeup.interface.ts:9

Returns

Promise<void>

on()
ts
on(event, handler): this;

Defined in: src/interfaces/outbox-wakeup.interface.ts:10

Parameters
ParameterType
eventstring
handler(payload) => void
Returns

this

query()
ts
query(sql): Promise<unknown>;

Defined in: src/interfaces/outbox-wakeup.interface.ts:8

Parameters
ParameterType
sqlstring
Returns

Promise<unknown>


OutboxOptions

Defined in: src/interfaces/outbox-options.interface.ts:24

Properties

delivery?
ts
optional delivery?: OutboxDeliveryOptions;

Defined in: src/interfaces/outbox-options.interface.ts:35

events?
ts
optional events?: Type<any>[];

Defined in: src/interfaces/outbox-options.interface.ts:39

hooks?
ts
optional hooks?: OutboxHooks;

Defined in: src/interfaces/outbox-options.interface.ts:37

isGlobal?
ts
optional isGlobal?: boolean;

Defined in: src/interfaces/outbox-options.interface.ts:40

polling?
ts
optional polling?: OutboxPollingOptions;

Defined in: src/interfaces/outbox-options.interface.ts:31

prisma
ts
prisma: any;

Defined in: src/interfaces/outbox-options.interface.ts:30

forRoot: PrismaService class reference (resolved via DI, must be in a

Global

module). forRootAsync: resolved PrismaService instance from the factory. The instance must satisfy PrismaLike ($executeRaw, $queryRaw).

retry?
ts
optional retry?: OutboxRetryOptions;

Defined in: src/interfaces/outbox-options.interface.ts:32

stuckThreshold?
ts
optional stuckThreshold?: number;

Defined in: src/interfaces/outbox-options.interface.ts:41

tenancy?
ts
optional tenancy?: OutboxTenancyOptions;

Defined in: src/interfaces/outbox-options.interface.ts:36

transport?
ts
optional transport?: Type<
  | OutboxTransport
| OutboxPublisher>;

Defined in: src/interfaces/outbox-options.interface.ts:34

Custom transport class. Defaults to LocalTransport (in-process handler invocation).

wakeup?
ts
optional wakeup?: OutboxWakeupOptions;

Defined in: src/interfaces/outbox-options.interface.ts:38


OutboxOptionsFactory

Defined in: src/interfaces/outbox-options.interface.ts:54

Methods

createOutboxOptions()
ts
createOutboxOptions():
  | OutboxOptions
| Promise<OutboxOptions>;

Defined in: src/interfaces/outbox-options.interface.ts:55

Returns

| OutboxOptions | Promise<OutboxOptions>


OutboxPollContext

Defined in: src/interfaces/outbox-hooks.interface.ts:9

Properties

batchSize
ts
batchSize: number;

Defined in: src/interfaces/outbox-hooks.interface.ts:10

deliveryMode
ts
deliveryMode: "local" | "publisher";

Defined in: src/interfaces/outbox-hooks.interface.ts:11


OutboxPollingOptions

Defined in: src/interfaces/outbox-options.interface.ts:8

Properties

batchSize?
ts
optional batchSize?: number;

Defined in: src/interfaces/outbox-options.interface.ts:11

enabled?
ts
optional enabled?: boolean;

Defined in: src/interfaces/outbox-options.interface.ts:9

interval?
ts
optional interval?: number;

Defined in: src/interfaces/outbox-options.interface.ts:10


OutboxPublisher

Defined in: src/interfaces/outbox-publisher.interface.ts:3

Methods

publish()
ts
publish(record): Promise<void>;

Defined in: src/interfaces/outbox-publisher.interface.ts:4

Parameters
ParameterType
recordOutboxRecord
Returns

Promise<void>


OutboxRecord

Defined in: src/interfaces/outbox-record.interface.ts:1

Properties

aggregateId
ts
aggregateId: string | null;

Defined in: src/interfaces/outbox-record.interface.ts:14

aggregateType
ts
aggregateType: string | null;

Defined in: src/interfaces/outbox-record.interface.ts:13

causationId
ts
causationId: string | null;

Defined in: src/interfaces/outbox-record.interface.ts:18

correlationId
ts
correlationId: string | null;

Defined in: src/interfaces/outbox-record.interface.ts:17

createdAt
ts
createdAt: Date;

Defined in: src/interfaces/outbox-record.interface.ts:6

eventType
ts
eventType: string;

Defined in: src/interfaces/outbox-record.interface.ts:3

headers
ts
headers: Record<string, string>;

Defined in: src/interfaces/outbox-record.interface.ts:19

id
ts
id: string;

Defined in: src/interfaces/outbox-record.interface.ts:2

idempotencyKey
ts
idempotencyKey: string | null;

Defined in: src/interfaces/outbox-record.interface.ts:16

lastError
ts
lastError: string | null;

Defined in: src/interfaces/outbox-record.interface.ts:11

maxRetries
ts
maxRetries: number;

Defined in: src/interfaces/outbox-record.interface.ts:10

occurredAt
ts
occurredAt: Date;

Defined in: src/interfaces/outbox-record.interface.ts:20

partitionKey
ts
partitionKey: string | null;

Defined in: src/interfaces/outbox-record.interface.ts:15

payload
ts
payload: Record<string, unknown>;

Defined in: src/interfaces/outbox-record.interface.ts:4

processedAt
ts
processedAt: Date | null;

Defined in: src/interfaces/outbox-record.interface.ts:8

retryCount
ts
retryCount: number;

Defined in: src/interfaces/outbox-record.interface.ts:9

status
ts
status: "PENDING" | "PROCESSING" | "SENT" | "FAILED";

Defined in: src/interfaces/outbox-record.interface.ts:5

tenantId
ts
tenantId: string | null;

Defined in: src/interfaces/outbox-record.interface.ts:12

updatedAt
ts
updatedAt: Date;

Defined in: src/interfaces/outbox-record.interface.ts:7


OutboxRetryContext

Defined in: src/interfaces/outbox-hooks.interface.ts:30

Extends

Properties

aggregateId
ts
aggregateId: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:22

Inherited from

OutboxDispatchContext.aggregateId

aggregateType
ts
aggregateType: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:21

Inherited from

OutboxDispatchContext.aggregateType

causationId
ts
causationId: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:26

Inherited from

OutboxDispatchContext.causationId

correlationId
ts
correlationId: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:25

Inherited from

OutboxDispatchContext.correlationId

error
ts
error: Error;

Defined in: src/interfaces/outbox-hooks.interface.ts:31

eventId
ts
eventId: string;

Defined in: src/interfaces/outbox-hooks.interface.ts:16

Inherited from

OutboxDispatchContext.eventId

eventType
ts
eventType: string;

Defined in: src/interfaces/outbox-hooks.interface.ts:17

Inherited from

OutboxDispatchContext.eventType

headers
ts
headers: Record<string, string>;

Defined in: src/interfaces/outbox-hooks.interface.ts:27

Inherited from

OutboxDispatchContext.headers

idempotencyKey
ts
idempotencyKey: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:24

Inherited from

OutboxDispatchContext.idempotencyKey

maxRetries
ts
maxRetries: number;

Defined in: src/interfaces/outbox-hooks.interface.ts:33

Overrides

OutboxDispatchContext.maxRetries

partitionKey
ts
partitionKey: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:23

Inherited from

OutboxDispatchContext.partitionKey

record
ts
record: OutboxRecord;

Defined in: src/interfaces/outbox-hooks.interface.ts:15

Inherited from

OutboxDispatchContext.record

retryCount
ts
retryCount: number;

Defined in: src/interfaces/outbox-hooks.interface.ts:32

Overrides

OutboxDispatchContext.retryCount

tenantId
ts
tenantId: string | null;

Defined in: src/interfaces/outbox-hooks.interface.ts:18

Inherited from

OutboxDispatchContext.tenantId


OutboxRetryOptions

Defined in: src/interfaces/outbox-options.interface.ts:14

Properties

backoff?
ts
optional backoff?: "fixed" | "exponential";

Defined in: src/interfaces/outbox-options.interface.ts:16

initialDelay?
ts
optional initialDelay?: number;

Defined in: src/interfaces/outbox-options.interface.ts:17

maxRetries?
ts
optional maxRetries?: number;

Defined in: src/interfaces/outbox-options.interface.ts:15


OutboxStats

Defined in: src/interfaces/outbox-admin.interface.ts:3

Properties

failed
ts
failed: number;

Defined in: src/interfaces/outbox-admin.interface.ts:7

oldestPendingAgeMs
ts
oldestPendingAgeMs: number | null;

Defined in: src/interfaces/outbox-admin.interface.ts:8

oldestProcessingAgeMs
ts
oldestProcessingAgeMs: number | null;

Defined in: src/interfaces/outbox-admin.interface.ts:9

pending
ts
pending: number;

Defined in: src/interfaces/outbox-admin.interface.ts:4

processing
ts
processing: number;

Defined in: src/interfaces/outbox-admin.interface.ts:5

sent
ts
sent: number;

Defined in: src/interfaces/outbox-admin.interface.ts:6


OutboxTenancyOptions

Defined in: src/interfaces/outbox-tenancy.interface.ts:8

Properties

provider?
ts
optional provider?:
  | OutboxTenantProvider
| Type<OutboxTenantProvider>;

Defined in: src/interfaces/outbox-tenancy.interface.ts:9


OutboxTenantProvider

Defined in: src/interfaces/outbox-tenancy.interface.ts:3

Methods

getTenantId()?
ts
optional getTenantId():
  | string
  | Promise<string | null | undefined>
  | null
  | undefined;

Defined in: src/interfaces/outbox-tenancy.interface.ts:4

Returns

| string | Promise<string | null | undefined> | null | undefined

runWithTenant()?
ts
optional runWithTenant<T>(tenantId, fn): Promise<T>;

Defined in: src/interfaces/outbox-tenancy.interface.ts:5

Type Parameters
Type Parameter
T
Parameters
ParameterType
tenantIdstring
fn() => Promise<T>
Returns

Promise<T>


OutboxTransport

Defined in: src/interfaces/outbox-transport.interface.ts:5

Methods

dispatch()
ts
dispatch(
   record,
   handlers,
context?): Promise<void>;

Defined in: src/interfaces/outbox-transport.interface.ts:6

Parameters
ParameterType
recordOutboxRecord
handlersOutboxHandler[]
context?OutboxHandlerContext
Returns

Promise<void>


OutboxWakeupOptions

Defined in: src/interfaces/outbox-wakeup.interface.ts:13

Properties

channel?
ts
optional channel?: string;

Defined in: src/interfaces/outbox-wakeup.interface.ts:15

clientFactory?
ts
optional clientFactory?: () =>
  | OutboxNotificationClient
  | Promise<OutboxNotificationClient | null>
  | null;

Defined in: src/interfaces/outbox-wakeup.interface.ts:18

Returns

| OutboxNotificationClient | Promise<OutboxNotificationClient | null> | null

connectionString?
ts
optional connectionString?: string;

Defined in: src/interfaces/outbox-wakeup.interface.ts:16

enabled?
ts
optional enabled?: boolean;

Defined in: src/interfaces/outbox-wakeup.interface.ts:14

reconnectDelay?
ts
optional reconnectDelay?: number;

Defined in: src/interfaces/outbox-wakeup.interface.ts:17

Type Aliases

OutboxEmitManyEntry

ts
type OutboxEmitManyEntry =
  | OutboxEvent
  | {
  event: OutboxEvent;
  options?: OutboxEmitOptions;
};

Defined in: src/interfaces/outbox-emit-options.interface.ts:15


PrismaLike

ts
type PrismaLike = PrismaTransactionClient & {
  $executeRawUnsafe?: Promise<number>;
  $queryRawUnsafe?: Promise<T>;
};

Defined in: src/interfaces/prisma-transaction-client.interface.ts:16

Minimal type for PrismaService instance (used by OutboxPoller for polling queries).

Type Declaration

NameTypeDefined in
$executeRawUnsafe()?(query, ...values) => Promise<number>src/interfaces/prisma-transaction-client.interface.ts:17
$queryRawUnsafe()?(query, ...values) => Promise<T>src/interfaces/prisma-transaction-client.interface.ts:18

PrismaTransactionClient

ts
type PrismaTransactionClient = {
  $executeRaw: Promise<number>;
  $executeRawUnsafe?: Promise<number>;
  $queryRaw: Promise<T>;
  $queryRawUnsafe?: Promise<T>;
};

Defined in: src/interfaces/prisma-transaction-client.interface.ts:2

Minimal type for Prisma interactive transaction client (inside $transaction callback).

Methods

$executeRaw()
ts
$executeRaw(query, ...values): Promise<number>;

Defined in: src/interfaces/prisma-transaction-client.interface.ts:3

Parameters
ParameterType
queryTemplateStringsArray
...valuesunknown[]
Returns

Promise<number>

$executeRawUnsafe()?
ts
optional $executeRawUnsafe(query, ...values): Promise<number>;

Defined in: src/interfaces/prisma-transaction-client.interface.ts:7

Parameters
ParameterType
querystring
...valuesunknown[]
Returns

Promise<number>

$queryRaw()
ts
$queryRaw<T>(query, ...values): Promise<T>;

Defined in: src/interfaces/prisma-transaction-client.interface.ts:8

Type Parameters
Type ParameterDefault type
Tunknown
Parameters
ParameterType
queryTemplateStringsArray
...valuesunknown[]
Returns

Promise<T>

$queryRawUnsafe()?
ts
optional $queryRawUnsafe<T>(query, ...values): Promise<T>;

Defined in: src/interfaces/prisma-transaction-client.interface.ts:12

Type Parameters
Type ParameterDefault type
Tunknown
Parameters
ParameterType
querystring
...valuesunknown[]
Returns

Promise<T>

Variables

OUTBOX_EVENT_METADATA

ts
const OUTBOX_EVENT_METADATA: typeof OUTBOX_EVENT_METADATA;

Defined in: src/outbox.constants.ts:4


OUTBOX_OPTIONS

ts
const OUTBOX_OPTIONS: typeof OUTBOX_OPTIONS;

Defined in: src/outbox.constants.ts:1


OUTBOX_TENANT_PROVIDER

ts
const OUTBOX_TENANT_PROVIDER: typeof OUTBOX_TENANT_PROVIDER;

Defined in: src/outbox.constants.ts:3


OUTBOX_TRANSPORT

ts
const OUTBOX_TRANSPORT: typeof OUTBOX_TRANSPORT;

Defined in: src/outbox.constants.ts:2

Functions

OnOutboxEvent()

ts
function OnOutboxEvent(...events): MethodDecorator;

Defined in: src/outbox.decorator.ts:9

Parameters

ParameterType
...eventsOutboxEventClass[]

Returns

MethodDecorator

Released under the MIT License.