Update routers with business logic actions

Implementing Event Handling in Our Router

To enable the execution of events within our system, we need to integrate them into our router. Here we will update the company's router to handle the first three types of events: shares release, capitalization, and shares split.

Checking for Company Existence

We begin by verifying the existence of the company before processing any events.

Shares Release Event

  1. Verify Shares Property:

    • If the shares property in the payload is greater than the existing number of shares, we trigger the shares release event.
  2. Define Event Properties:

    • We ensure only necessary properties are included: type, ID, date, and specific company data.

Capitalization Event

  1. Verify Capitalization Property:

    • If the capitalization value in the request exceeds the current company capitalization, we trigger the capitalization event.
  2. Define Event Properties:

    • Include required properties such as type, ID, date, companyId, and capitalization.

Shares Split Event

  1. Verify Split Factor:

    • If the shares split factor is greater than zero, we initiate the shares split event.
  2. Define Event Properties:

    • Properties include type, ID, date, companyId, and split factor.

Ensuring Proper Closure

We need to ensure that all events are correctly closed, especially when auto-generated code might omit necessary closures.

Conclusion

By following these steps, we can effectively manage shares release, capitalization, and shares split events within our router. Each event is thoroughly verified for correctness in structure and required properties.

Note: Always test to ensure these configurations are functioning as expected before deploying them to a production environment.