README.md 1.1 KB

Custom subscribers

You may define custom eventhandlers, subscribers by creating files in the /subscribers directory.

class WelcomeSubscriber {
  constructor({ welcomeService, eventBusService }) {
    this.welcomeService_ = welcomeService;

    eventBusService.subscribe("order.placed", this.handleWelcome);
  }

  handleWelcome = async (data) => {
    return await this.welcomeService_.sendWelcome(data.id);
  };
}

export default WelcomeSubscriber;

A subscriber is defined as a class which is registered as a subscriber by invoking eventBusService.subscribe in the constructor of the class.

The type of event that the subscriber subscribes to is passed as the first parameter to the eventBusService.subscribe and the eventhandler is passed as the second parameter. The types of events a service can emmit are described in the individual service.

An eventhandler has one paramenter; a data object wich contain information relating to the event, including relevant id's. The id can be used to fetch the appropriate entity in the eventhandler.