Class EventTrait

The EventTrait is used to allow submitting events to a message bus.

Example of adding this trait :

Usage:

traits:
- type: event
pre:
create: myapp.myentity.create
view: myapp.myentity.view
update: myapp.myentity.update
delete: myapp.myentity.delete
post:
create: myapp.myentity.created

Hierarchy

Constructors

Properties

Trait instance configuration.

_eventQueue: EventQueue
_global: boolean = false

Whether this is a global (not bound to any specific schema item) trait instance.

_type?: "event"

Trait type.

Methods

  • Private

    Returns event data to be sent to message bus.

    Returns

    Parameters

    • hookName: string

      {string} - Hook name. Used to determine which hook arguments to extract.

    • context: KosmosUserContext<object>

      User context.

    • args: VertexSchemaHooksParams

      {VertexSchemaHooksParams} - Hook arguments array.

    Returns EventData

  • Private

    Returns a pre-configured hook handler for a given action.

    Returns

    Parameters

    • hookName: string

      Entity hook name.

    • eventDetailType: string

      AWS EventBridge event detail type.

    Returns ((...args: VertexSchemaHooksParams) => Promise<void>)

      • (...args: VertexSchemaHooksParams): Promise<void>
      • Private

        Returns a pre-configured hook handler for a given action.

        Returns

        Parameters

        • Rest ...args: VertexSchemaHooksParams

        Returns Promise<void>

  • Private

    Sends event message to EventBridge.

    Returns

    Promise

    Parameters

    • eventDetailType: string

      AWS EventBridge event detail type.

    • eventData: object

      Event data.

    • context: KosmosUserContext<object>

      User context.

    Returns undefined | Promise<void>

  • Helper method retuning hook name.

    Returns

    Parameters

    • stage: "pre" | "post"

      Entity processing stage.

    • action: string

      Entity action.

    Returns string

  • This method is triggered when a trait callback has been activated

    Type Parameters

    • RT = any

    • Payload = any

    Parameters

    • callbackName: string

      This is the name of the callback function to call.

    • datasourceWrapper: DataSourceWrapper

      References to the Graph Hanlder

    • data: TraitDataObject<RT, Payload, Promise<any>>

      Request data passed along as part of the request.

    Returns Promise<RT>

Generated using TypeDoc