PURISTA API / @purista/core / EventBridge
Interface: EventBridge
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:19
Event bridge interface The event bridge must implement this interface.
Properties
defaultCommandTimeout
readonly
defaultCommandTimeout:number
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:26
The default time until when a command invocation automatically returns a time out error
instanceId
readonly
instanceId:string
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:22
name
readonly
name:string
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:20
Methods
destroy()
destroy():
Promise
<void
>
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:99
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:37
Emit a message to the eventbridge without awaiting a result
Parameters
message
Omit
<EBMessage
, "correlationId"
| "id"
| "timestamp"
>
the message
Returns
Promise
<Readonly
<EBMessage
>>
invoke()
invoke<
T
>(input
,ttl
?):Promise
<T
>
Defined in: packages/core/src/core/EventBridge/types/EventBridge.ts:46
Call a command of a service and return the result of this command
Type Parameters
• 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"
| "correlationId"
| "id"
| "timestamp"
>
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:94
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:89
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:53
Parameters
address
the address of the service command (service name, version and command name)
cb
(message
) => Promise
<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"
>> | 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"
>>>
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:75
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:31
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:68
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:84
Parameters
address
Returns
Promise
<void
>