PURISTA API / @purista/core / EventBridge
Interface: EventBridge
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:17
Event bridge interface The event bridge must implement this interface.
Properties
defaultCommandTimeout
readonlydefaultCommandTimeout:number
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:24
The default time until when a command invocation automatically returns a time out error
instanceId
readonlyinstanceId:string
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:20
name
readonlyname:string
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:18
Methods
destroy()
destroy():
Promise<void>
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:97
Shut down event bridge as gracefully as possible
Returns
Promise<void>
emitMessage()
emitMessage(
message):Promise<Readonly<EBMessage>>
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:35
Emit a message to the eventbridge without awaiting a result
Parameters
message
Omit<EBMessage, "id" | "timestamp" | "correlationId">
the message
Returns
Promise<Readonly<EBMessage>>
invoke()
invoke<
T>(input,ttl?):Promise<T>
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:44
Call a command of a service and return the result of this command
Type Parameters
T
T
Parameters
input
Omit<{ contentEncoding: string; contentType: string; correlationId: string; eventName?: string; id: string; messageType: Command; otp?: string; payload: { parameter: unknown; payload: unknown; }; principalId?: string; receiver: EBMessageAddress; sender: { instanceId: string; serviceName: string; serviceTarget: string; serviceVersion: string; }; tenantId?: string; timestamp: number; traceId?: string; }, "messageType" | "id" | "timestamp" | "correlationId">
a partial command message
ttl?
number
the time to live (timeout) of the invocation
Returns
Promise<T>
isHealthy()
isHealthy():
Promise<boolean>
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:92
Indicates if the eventbridge is running and works correctly
Returns
Promise<boolean>
isReady()
isReady():
Promise<boolean>
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:87
Indicates if the eventbridge has been started and is connected to underlaying message broker
Returns
Promise<boolean>
registerCommand()
registerCommand(
address,cb,metadata,eventBridgeConfig):Promise<string>
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:51
Parameters
address
the address of the service command (service name, version and command name)
cb
(message) => Promise<Readonly<Omit<{ contentEncoding: string; contentType: string; correlationId: string; eventName?: string; id: string; messageType: CommandSuccessResponse; otp?: string; payload: unknown; principalId?: string; receiver: { instanceId: string; serviceName: string; serviceTarget: string; serviceVersion: string; }; sender: { instanceId: string; serviceName: string; serviceTarget: string; serviceVersion: string; }; tenantId?: string; timestamp: number; traceId?: string; }, "instanceId">> | Readonly<Omit<{ contentEncoding: "utf-8"; contentType: "application/json"; correlationId: string; eventName?: string; id: string; isHandledError: boolean; messageType: CommandErrorResponse; otp?: string; payload: { data?: unknown; message: string; status: StatusCode; }; principalId?: string; receiver: { instanceId: string; serviceName: string; serviceTarget: string; serviceVersion: string; }; sender: { instanceId: string; serviceName: string; serviceTarget: string; serviceVersion: string; }; tenantId?: string; timestamp: number; traceId?: string; }, "instanceId">>>
the function to be called if a matching command arrives
metadata
eventBridgeConfig
Returns
Promise<string>
registerSubscription()
registerSubscription(
subscription,cb):Promise<string>
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:73
Register a new subscription
Parameters
subscription
the subscription definition
cb
(message) => Promise<undefined | Omit<{ contentEncoding: string; contentType: string; correlationId?: string; eventName: string; id: string; messageType: CustomMessage; otp?: string; payload?: unknown; principalId?: string; receiver?: EBMessageAddress; sender: { instanceId: string; serviceName: string; serviceTarget: string; serviceVersion: string; }; tenantId?: string; timestamp: number; traceId?: string; }, "id" | "timestamp">>
the function to be called if a matching message arrives
Returns
Promise<string>
start()
start():
Promise<void>
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:29
Start the eventbridge and connect to the underlaying message broker
Returns
Promise<void>
unregisterCommand()
unregisterCommand(
address):Promise<void>
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:66
Unregister a service command
Parameters
address
The address (service name, version and command name) of the command to be de-registered
Returns
Promise<void>
unregisterSubscription()
unregisterSubscription(
address):Promise<void>
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:82
Parameters
address
Returns
Promise<void>
