Skip to content

Latest commit

 

History

History
46 lines (34 loc) · 2.01 KB

command-handler.md

File metadata and controls

46 lines (34 loc) · 2.01 KB
id title
command-handler
Command Handler

:::info TypeScript Support

Command handlers are grouped into an Aggregate container object that has an associated TypeScript type:

  • Type Name - Aggregate
  • Package - @resolve-js/core

:::

A command handler function has the following structure:

(state, command, context) => {
  ...
  return {
    type: 'CommandTypeName',
    payload: { ... },
  }
}

A command handler implementation receives the following arguments:

Argument Name Description
state The state object built by the aggregate projection.
command An object that contains the incoming command's data.
context An object that contains data and functions related to the current operation.

Context

The context argument is an object with the following fields:

Field Name Description
jwt The JSON Web Token attached to the request.
aggregateVersion The aggregate version that is a number incremented for each subsequent event with the current aggregateId.
encrypt The user-defined encrypt function.
decrypt The user-defined decrypt function.

This object can also contain additional fields added by middleware.