@reventlessdev/online-shop-dcb-ordering 1.0.0-alpha.246 → 1.0.0-alpha.248
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/lib/bs/.compiler.log +2 -2
- package/lib/bs/OrderingPlugin.cmi +0 -0
- package/lib/bs/OrderingPlugin.cmt +0 -0
- package/lib/bs/OrderingPlugin.mlmap +2 -0
- package/lib/bs/compiler-info.json +1 -1
- package/lib/bs/src/CatalogProduct/StateChange/SyncCatalogProduct-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/StateChange/SyncCatalogProduct-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/StateChange/SyncCatalogProduct.ast +0 -0
- package/lib/bs/src/CatalogProduct/StateChange/SyncCatalogProduct.res +4 -4
- package/lib/bs/src/CatalogProduct/StateChange/SyncCatalogProduct.res.mjs +5 -4
- package/lib/bs/src/CatalogProduct/StateChange/SyncCatalogProduct_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/StateChange/SyncCatalogProduct_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/StateView/AvailableProducts-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/StateView/AvailableProducts-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/StateView/AvailableProducts.ast +0 -0
- package/lib/bs/src/CatalogProduct/StateView/AvailableProducts.res +6 -3
- package/lib/bs/src/CatalogProduct/StateView/AvailableProducts.res.mjs +7 -3
- package/lib/bs/src/CatalogProduct/StateView/AvailableProducts_Projection-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/StateView/AvailableProducts_Projection-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/CustomerId-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/CustomerId-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/CustomerId-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/CustomerId.ast +0 -0
- package/lib/bs/src/Customer/CustomerId.res +4 -0
- package/lib/bs/src/Customer/CustomerId.res.mjs +29 -0
- package/lib/bs/src/Customer/StateChange/ChangeAddress-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChange/ChangeAddress-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChange/ChangeAddress.ast +0 -0
- package/lib/bs/src/Customer/StateChange/ChangeAddress.res +2 -2
- package/lib/bs/src/Customer/StateChange/ChangeAddress.res.mjs +3 -2
- package/lib/bs/src/Customer/StateChange/ChangeAddress_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChange/ChangeAddress_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChange/ChangeEmail-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChange/ChangeEmail-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChange/ChangeEmail.ast +0 -0
- package/lib/bs/src/Customer/StateChange/ChangeEmail.res +2 -2
- package/lib/bs/src/Customer/StateChange/ChangeEmail.res.mjs +3 -2
- package/lib/bs/src/Customer/StateChange/ChangeEmail_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChange/ChangeEmail_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChange/DeactivateCustomer-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChange/DeactivateCustomer-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChange/DeactivateCustomer.ast +0 -0
- package/lib/bs/src/Customer/StateChange/DeactivateCustomer.res +2 -2
- package/lib/bs/src/Customer/StateChange/DeactivateCustomer.res.mjs +3 -2
- package/lib/bs/src/Customer/StateChange/DeactivateCustomer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChange/DeactivateCustomer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChange/RegisterCustomer-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChange/RegisterCustomer-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChange/RegisterCustomer.ast +0 -0
- package/lib/bs/src/Customer/StateChange/RegisterCustomer.res +2 -2
- package/lib/bs/src/Customer/StateChange/RegisterCustomer.res.mjs +3 -2
- package/lib/bs/src/Customer/StateChange/RegisterCustomer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChange/RegisterCustomer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateView/Customers-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateView/Customers-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateView/Customers.ast +0 -0
- package/lib/bs/src/Customer/StateView/Customers.res +8 -5
- package/lib/bs/src/Customer/StateView/Customers.res.mjs +9 -5
- package/lib/bs/src/Customer/StateView/Customers_Projection-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateView/Customers_Projection-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.ast +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.res +29 -10
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.res.mjs +32 -23
- package/lib/bs/src/LifecycleModel-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/LifecycleModel-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/Automation/AutoShipOrder-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/Automation/AutoShipOrder-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/Automation/AutoShipOrder.ast +0 -0
- package/lib/bs/src/Order/Automation/AutoShipOrder.res +2 -2
- package/lib/bs/src/Order/Automation/AutoShipOrder.res.mjs +3 -2
- package/lib/bs/src/Order/Automation/AutoShipOrder_Automation-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/Automation/AutoShipOrder_Automation-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/Automation/AutoShipOrder_Automation.ast +0 -0
- package/lib/bs/src/Order/Automation/AutoShipOrder_Automation.res +8 -5
- package/lib/bs/src/Order/Automation/AutoShipOrder_Automation.res.mjs +7 -6
- package/lib/bs/src/Order/OrderId-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/OrderId-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/OrderId-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/OrderId.ast +0 -0
- package/lib/bs/src/Order/OrderId.res +4 -0
- package/lib/bs/src/Order/OrderId.res.mjs +29 -0
- package/lib/bs/src/Order/OutboundTranslation/SendOrderConfirmation-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/OutboundTranslation/SendOrderConfirmation-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/OutboundTranslation/SendOrderConfirmation.ast +0 -0
- package/lib/bs/src/Order/OutboundTranslation/SendOrderConfirmation.res +2 -2
- package/lib/bs/src/Order/OutboundTranslation/SendOrderConfirmation.res.mjs +6 -4
- package/lib/bs/src/Order/OutboundTranslation/SendOrderConfirmation_Translation-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/OutboundTranslation/SendOrderConfirmation_Translation-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/OutboundTranslation/SendOrderConfirmation_Translation.ast +0 -0
- package/lib/bs/src/Order/OutboundTranslation/SendOrderConfirmation_Translation.res +5 -2
- package/lib/bs/src/Order/OutboundTranslation/SendOrderConfirmation_Translation.res.mjs +4 -2
- package/lib/bs/src/Order/StateChange/CancelOrder-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChange/CancelOrder-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChange/CancelOrder.ast +0 -0
- package/lib/bs/src/Order/StateChange/CancelOrder.res +3 -3
- package/lib/bs/src/Order/StateChange/CancelOrder.res.mjs +6 -4
- package/lib/bs/src/Order/StateChange/CancelOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChange/CancelOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChange/CancelOrder_Behavior.ast +0 -0
- package/lib/bs/src/Order/StateChange/CancelOrder_Behavior.res +6 -1
- package/lib/bs/src/Order/StateChange/PlaceOrder-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChange/PlaceOrder-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChange/PlaceOrder.ast +0 -0
- package/lib/bs/src/Order/StateChange/PlaceOrder.res +12 -7
- package/lib/bs/src/Order/StateChange/PlaceOrder.res.mjs +12 -9
- package/lib/bs/src/Order/StateChange/PlaceOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChange/PlaceOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChange/PlaceOrder_Behavior.ast +0 -0
- package/lib/bs/src/Order/StateChange/PlaceOrder_Behavior.res +1 -1
- package/lib/bs/src/Order/StateChange/ShipOrder-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChange/ShipOrder-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChange/ShipOrder.ast +0 -0
- package/lib/bs/src/Order/StateChange/ShipOrder.res +2 -2
- package/lib/bs/src/Order/StateChange/ShipOrder.res.mjs +3 -2
- package/lib/bs/src/Order/StateChange/ShipOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChange/ShipOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateView/Orders-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateView/Orders-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateView/Orders.ast +0 -0
- package/lib/bs/src/Order/StateView/Orders.res +13 -6
- package/lib/bs/src/Order/StateView/Orders.res.mjs +14 -8
- package/lib/bs/src/Order/StateView/Orders_Projection-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateView/Orders_Projection-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Plugin-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Plugin-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Plugin.res.mjs +6 -8
- package/lib/bs/tests/CatalogProduct/StateChange/SyncCatalogProduct_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/CatalogProduct/StateChange/SyncCatalogProduct_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/CatalogProduct/StateChange/SyncCatalogProduct_GWT.ast +0 -0
- package/lib/bs/tests/CatalogProduct/StateChange/SyncCatalogProduct_GWT.res +8 -6
- package/lib/bs/tests/CatalogProduct/StateChange/SyncCatalogProduct_GWT.res.mjs +10 -6
- package/lib/bs/tests/CatalogProduct/StateView/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/CatalogProduct/StateView/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/CatalogProduct/StateView/AvailableProducts_GWT.ast +0 -0
- package/lib/bs/tests/CatalogProduct/StateView/AvailableProducts_GWT.res +7 -5
- package/lib/bs/tests/CatalogProduct/StateView/AvailableProducts_GWT.res.mjs +10 -5
- package/lib/bs/tests/Customer/StateChange/ChangeAddress_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateChange/ChangeAddress_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateChange/ChangeAddress_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateChange/ChangeAddress_GWT.res +7 -5
- package/lib/bs/tests/Customer/StateChange/ChangeAddress_GWT.res.mjs +9 -5
- package/lib/bs/tests/Customer/StateChange/ChangeEmail_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateChange/ChangeEmail_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateChange/ChangeEmail_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateChange/ChangeEmail_GWT.res +7 -5
- package/lib/bs/tests/Customer/StateChange/ChangeEmail_GWT.res.mjs +9 -5
- package/lib/bs/tests/Customer/StateChange/DeactivateCustomer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateChange/DeactivateCustomer_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateChange/DeactivateCustomer_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateChange/DeactivateCustomer_GWT.res +6 -4
- package/lib/bs/tests/Customer/StateChange/DeactivateCustomer_GWT.res.mjs +8 -4
- package/lib/bs/tests/Customer/StateChange/RegisterCustomer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateChange/RegisterCustomer_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateChange/RegisterCustomer_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateChange/RegisterCustomer_GWT.res +7 -3
- package/lib/bs/tests/Customer/StateChange/RegisterCustomer_GWT.res.mjs +7 -3
- package/lib/bs/tests/Customer/StateView/Customers_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateView/Customers_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateView/Customers_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateView/Customers_GWT.res +21 -11
- package/lib/bs/tests/Customer/StateView/Customers_GWT.res.mjs +16 -11
- package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT.ast +0 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT.res +8 -4
- package/lib/bs/tests/Extension/Products_Extension_GWT.res.mjs +8 -4
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.ast +0 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res +10 -2
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res.mjs +19 -7
- package/lib/bs/tests/Order/Automation/AutoShipOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/Automation/AutoShipOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/Automation/AutoShipOrder_GWT.ast +0 -0
- package/lib/bs/tests/Order/Automation/AutoShipOrder_GWT.res +9 -7
- package/lib/bs/tests/Order/Automation/AutoShipOrder_GWT.res.mjs +11 -7
- package/lib/bs/tests/Order/OutboundTranslation/SendOrderConfirmation_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/OutboundTranslation/SendOrderConfirmation_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/OutboundTranslation/SendOrderConfirmation_GWT.ast +0 -0
- package/lib/bs/tests/Order/OutboundTranslation/SendOrderConfirmation_GWT.res +7 -4
- package/lib/bs/tests/Order/OutboundTranslation/SendOrderConfirmation_GWT.res.mjs +16 -8
- package/lib/bs/tests/Order/StateChange/CancelOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/StateChange/CancelOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/StateChange/CancelOrder_GWT.ast +0 -0
- package/lib/bs/tests/Order/StateChange/CancelOrder_GWT.res +11 -8
- package/lib/bs/tests/Order/StateChange/CancelOrder_GWT.res.mjs +19 -11
- package/lib/bs/tests/Order/StateChange/PlaceOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/StateChange/PlaceOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/StateChange/PlaceOrder_GWT.ast +0 -0
- package/lib/bs/tests/Order/StateChange/PlaceOrder_GWT.res +19 -13
- package/lib/bs/tests/Order/StateChange/PlaceOrder_GWT.res.mjs +42 -30
- package/lib/bs/tests/Order/StateChange/ShipOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/StateChange/ShipOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/StateChange/ShipOrder_GWT.ast +0 -0
- package/lib/bs/tests/Order/StateChange/ShipOrder_GWT.res +7 -5
- package/lib/bs/tests/Order/StateChange/ShipOrder_GWT.res.mjs +9 -5
- package/lib/bs/tests/Order/StateView/Orders_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/StateView/Orders_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/StateView/Orders_GWT.ast +0 -0
- package/lib/bs/tests/Order/StateView/Orders_GWT.res +19 -8
- package/lib/bs/tests/Order/StateView/Orders_GWT.res.mjs +35 -22
- package/lib/ocaml/.compiler.log +2 -2
- package/lib/ocaml/AutoShipOrder-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AutoShipOrder-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AutoShipOrder.ast +0 -0
- package/lib/ocaml/AutoShipOrder.res +2 -2
- package/lib/ocaml/AutoShipOrder_Automation-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AutoShipOrder_Automation-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AutoShipOrder_Automation.ast +0 -0
- package/lib/ocaml/AutoShipOrder_Automation.res +8 -5
- package/lib/ocaml/AutoShipOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AutoShipOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AutoShipOrder_GWT.ast +0 -0
- package/lib/ocaml/AutoShipOrder_GWT.res +9 -7
- package/lib/ocaml/AvailableProducts-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AvailableProducts-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AvailableProducts.ast +0 -0
- package/lib/ocaml/AvailableProducts.res +6 -3
- package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AvailableProducts_GWT.ast +0 -0
- package/lib/ocaml/AvailableProducts_GWT.res +7 -5
- package/lib/ocaml/AvailableProducts_Projection-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AvailableProducts_Projection-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/CancelOrder-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CancelOrder-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/CancelOrder.ast +0 -0
- package/lib/ocaml/CancelOrder.res +3 -3
- package/lib/ocaml/CancelOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CancelOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/CancelOrder_Behavior.ast +0 -0
- package/lib/ocaml/CancelOrder_Behavior.res +6 -1
- package/lib/ocaml/CancelOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CancelOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/CancelOrder_GWT.ast +0 -0
- package/lib/ocaml/CancelOrder_GWT.res +11 -8
- package/lib/ocaml/ChangeAddress-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeAddress-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeAddress.ast +0 -0
- package/lib/ocaml/ChangeAddress.res +2 -2
- package/lib/ocaml/ChangeAddress_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeAddress_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeAddress_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeAddress_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeAddress_GWT.ast +0 -0
- package/lib/ocaml/ChangeAddress_GWT.res +7 -5
- package/lib/ocaml/ChangeEmail-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeEmail-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeEmail.ast +0 -0
- package/lib/ocaml/ChangeEmail.res +2 -2
- package/lib/ocaml/ChangeEmail_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeEmail_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeEmail_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeEmail_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeEmail_GWT.ast +0 -0
- package/lib/ocaml/ChangeEmail_GWT.res +7 -5
- package/lib/ocaml/CustomerId-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CustomerId-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/CustomerId-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/CustomerId.ast +0 -0
- package/lib/ocaml/CustomerId.res +4 -0
- package/lib/ocaml/Customers-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customers-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customers.ast +0 -0
- package/lib/ocaml/Customers.res +8 -5
- package/lib/ocaml/Customers_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customers_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customers_GWT.ast +0 -0
- package/lib/ocaml/Customers_GWT.res +21 -11
- package/lib/ocaml/Customers_Projection-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customers_Projection-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/DeactivateCustomer-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/DeactivateCustomer-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/DeactivateCustomer.ast +0 -0
- package/lib/ocaml/DeactivateCustomer.res +2 -2
- package/lib/ocaml/DeactivateCustomer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/DeactivateCustomer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/DeactivateCustomer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/DeactivateCustomer_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/DeactivateCustomer_GWT.ast +0 -0
- package/lib/ocaml/DeactivateCustomer_GWT.res +6 -4
- package/lib/ocaml/LifecycleModel-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/LifecycleModel-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/OrderId-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/OrderId-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/OrderId-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/OrderId.ast +0 -0
- package/lib/ocaml/OrderId.res +4 -0
- package/lib/ocaml/OrderingPlugin.cmi +0 -0
- package/lib/ocaml/OrderingPlugin.cmt +0 -0
- package/lib/ocaml/OrderingPlugin.mlmap +2 -0
- package/lib/ocaml/Orders-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders.ast +0 -0
- package/lib/ocaml/Orders.res +13 -6
- package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping.ast +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping.res +29 -10
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT.ast +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT.res +10 -2
- package/lib/ocaml/Orders_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders_GWT.ast +0 -0
- package/lib/ocaml/Orders_GWT.res +19 -8
- package/lib/ocaml/Orders_Projection-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_Projection-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/PlaceOrder-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/PlaceOrder-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/PlaceOrder.ast +0 -0
- package/lib/ocaml/PlaceOrder.res +12 -7
- package/lib/ocaml/PlaceOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/PlaceOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/PlaceOrder_Behavior.ast +0 -0
- package/lib/ocaml/PlaceOrder_Behavior.res +1 -1
- package/lib/ocaml/PlaceOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/PlaceOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/PlaceOrder_GWT.ast +0 -0
- package/lib/ocaml/PlaceOrder_GWT.res +19 -13
- package/lib/ocaml/Plugin-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Plugin-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Products_Extension-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Products_Extension-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Products_Extension_GWT.ast +0 -0
- package/lib/ocaml/Products_Extension_GWT.res +8 -4
- package/lib/ocaml/RegisterCustomer-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/RegisterCustomer-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/RegisterCustomer.ast +0 -0
- package/lib/ocaml/RegisterCustomer.res +2 -2
- package/lib/ocaml/RegisterCustomer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/RegisterCustomer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/RegisterCustomer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/RegisterCustomer_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/RegisterCustomer_GWT.ast +0 -0
- package/lib/ocaml/RegisterCustomer_GWT.res +7 -3
- package/lib/ocaml/SendOrderConfirmation-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SendOrderConfirmation-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SendOrderConfirmation.ast +0 -0
- package/lib/ocaml/SendOrderConfirmation.res +2 -2
- package/lib/ocaml/SendOrderConfirmation_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SendOrderConfirmation_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SendOrderConfirmation_GWT.ast +0 -0
- package/lib/ocaml/SendOrderConfirmation_GWT.res +7 -4
- package/lib/ocaml/SendOrderConfirmation_Translation-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SendOrderConfirmation_Translation-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SendOrderConfirmation_Translation.ast +0 -0
- package/lib/ocaml/SendOrderConfirmation_Translation.res +5 -2
- package/lib/ocaml/ShipOrder-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ShipOrder-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ShipOrder.ast +0 -0
- package/lib/ocaml/ShipOrder.res +2 -2
- package/lib/ocaml/ShipOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ShipOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ShipOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ShipOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ShipOrder_GWT.ast +0 -0
- package/lib/ocaml/ShipOrder_GWT.res +7 -5
- package/lib/ocaml/SyncCatalogProduct-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SyncCatalogProduct-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SyncCatalogProduct.ast +0 -0
- package/lib/ocaml/SyncCatalogProduct.res +4 -4
- package/lib/ocaml/SyncCatalogProduct_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SyncCatalogProduct_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SyncCatalogProduct_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SyncCatalogProduct_GWT-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SyncCatalogProduct_GWT.ast +0 -0
- package/lib/ocaml/SyncCatalogProduct_GWT.res +8 -6
- package/package.json +8 -8
- package/src/CatalogProduct/StateChange/SyncCatalogProduct.res +4 -4
- package/src/CatalogProduct/StateChange/SyncCatalogProduct.res.mjs +5 -4
- package/src/CatalogProduct/StateView/AvailableProducts.res +6 -3
- package/src/CatalogProduct/StateView/AvailableProducts.res.mjs +7 -3
- package/src/Customer/CustomerId.res +4 -0
- package/src/Customer/CustomerId.res.mjs +29 -0
- package/src/Customer/StateChange/ChangeAddress.res +2 -2
- package/src/Customer/StateChange/ChangeAddress.res.mjs +3 -2
- package/src/Customer/StateChange/ChangeEmail.res +2 -2
- package/src/Customer/StateChange/ChangeEmail.res.mjs +3 -2
- package/src/Customer/StateChange/DeactivateCustomer.res +2 -2
- package/src/Customer/StateChange/DeactivateCustomer.res.mjs +3 -2
- package/src/Customer/StateChange/RegisterCustomer.res +2 -2
- package/src/Customer/StateChange/RegisterCustomer.res.mjs +3 -2
- package/src/Customer/StateView/Customers.res +8 -5
- package/src/Customer/StateView/Customers.res.mjs +9 -5
- package/src/ExtensionPoint/Orders_ExtensionPointMapping.res +29 -10
- package/src/ExtensionPoint/Orders_ExtensionPointMapping.res.mjs +32 -23
- package/src/Order/Automation/AutoShipOrder.res +2 -2
- package/src/Order/Automation/AutoShipOrder.res.mjs +3 -2
- package/src/Order/Automation/AutoShipOrder_Automation.res +8 -5
- package/src/Order/Automation/AutoShipOrder_Automation.res.mjs +7 -6
- package/src/Order/OrderId.res +4 -0
- package/src/Order/OrderId.res.mjs +29 -0
- package/src/Order/OutboundTranslation/SendOrderConfirmation.res +2 -2
- package/src/Order/OutboundTranslation/SendOrderConfirmation.res.mjs +6 -4
- package/src/Order/OutboundTranslation/SendOrderConfirmation_Translation.res +5 -2
- package/src/Order/OutboundTranslation/SendOrderConfirmation_Translation.res.mjs +4 -2
- package/src/Order/StateChange/CancelOrder.res +3 -3
- package/src/Order/StateChange/CancelOrder.res.mjs +6 -4
- package/src/Order/StateChange/CancelOrder_Behavior.res +6 -1
- package/src/Order/StateChange/PlaceOrder.res +12 -7
- package/src/Order/StateChange/PlaceOrder.res.mjs +12 -9
- package/src/Order/StateChange/PlaceOrder_Behavior.res +1 -1
- package/src/Order/StateChange/ShipOrder.res +2 -2
- package/src/Order/StateChange/ShipOrder.res.mjs +3 -2
- package/src/Order/StateView/Orders.res +13 -6
- package/src/Order/StateView/Orders.res.mjs +14 -8
- package/src/Plugin.res.mjs +6 -8
- package/tests/CatalogProduct/StateChange/SyncCatalogProduct_GWT.res +8 -6
- package/tests/CatalogProduct/StateChange/SyncCatalogProduct_GWT.res.mjs +10 -6
- package/tests/CatalogProduct/StateView/AvailableProducts_GWT.res +7 -5
- package/tests/CatalogProduct/StateView/AvailableProducts_GWT.res.mjs +10 -5
- package/tests/Customer/StateChange/ChangeAddress_GWT.res +7 -5
- package/tests/Customer/StateChange/ChangeAddress_GWT.res.mjs +9 -5
- package/tests/Customer/StateChange/ChangeEmail_GWT.res +7 -5
- package/tests/Customer/StateChange/ChangeEmail_GWT.res.mjs +9 -5
- package/tests/Customer/StateChange/DeactivateCustomer_GWT.res +6 -4
- package/tests/Customer/StateChange/DeactivateCustomer_GWT.res.mjs +8 -4
- package/tests/Customer/StateChange/RegisterCustomer_GWT.res +7 -3
- package/tests/Customer/StateChange/RegisterCustomer_GWT.res.mjs +7 -3
- package/tests/Customer/StateView/Customers_GWT.res +21 -11
- package/tests/Customer/StateView/Customers_GWT.res.mjs +16 -11
- package/tests/Extension/Products_Extension_GWT.res +8 -4
- package/tests/Extension/Products_Extension_GWT.res.mjs +8 -4
- package/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res +10 -2
- package/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res.mjs +19 -7
- package/tests/Order/Automation/AutoShipOrder_GWT.res +9 -7
- package/tests/Order/Automation/AutoShipOrder_GWT.res.mjs +11 -7
- package/tests/Order/OutboundTranslation/SendOrderConfirmation_GWT.res +7 -4
- package/tests/Order/OutboundTranslation/SendOrderConfirmation_GWT.res.mjs +16 -8
- package/tests/Order/StateChange/CancelOrder_GWT.res +11 -8
- package/tests/Order/StateChange/CancelOrder_GWT.res.mjs +19 -11
- package/tests/Order/StateChange/PlaceOrder_GWT.res +19 -13
- package/tests/Order/StateChange/PlaceOrder_GWT.res.mjs +42 -30
- package/tests/Order/StateChange/ShipOrder_GWT.res +7 -5
- package/tests/Order/StateChange/ShipOrder_GWT.res.mjs +9 -5
- package/tests/Order/StateView/Orders_GWT.res +19 -8
- package/tests/Order/StateView/Orders_GWT.res.mjs +35 -22
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
@@reventless.spec
|
|
6
6
|
|
|
7
7
|
@schema
|
|
8
|
-
type consumedEvent = OrderPlaced({orderId:
|
|
8
|
+
type consumedEvent = OrderPlaced({orderId: OrderId.t, customerId: CustomerId.t})
|
|
9
9
|
|
|
10
10
|
@schema
|
|
11
|
-
type outboundItem = {orderId:
|
|
11
|
+
type outboundItem = {orderId: OrderId.t, customerId: CustomerId.t}
|
|
12
12
|
|
|
13
13
|
@schema
|
|
14
14
|
type inboundCommand = unit
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -12,21 +12,24 @@ module SendOrderConfirmationSlice = {
|
|
|
12
12
|
|
|
13
13
|
@@reventless.gwt
|
|
14
14
|
|
|
15
|
+
let cid = CustomerId.make
|
|
16
|
+
let oid = OrderId.make
|
|
17
|
+
|
|
15
18
|
describe("SendOrderConfirmation OutboundTranslationSlice", () => {
|
|
16
19
|
testSync("collect: OrderPlaced queues an outbound TODO", () =>
|
|
17
|
-
givenEvent(OrderPlaced({orderId: "o1", customerId: "c1"}))
|
|
20
|
+
givenEvent(OrderPlaced({orderId: oid("o1"), customerId: cid("c1")}))
|
|
18
21
|
->whenCollect
|
|
19
|
-
->thenTodos([("o1", {orderId: "o1", customerId: "c1"})])
|
|
22
|
+
->thenTodos([("o1", {orderId: oid("o1"), customerId: cid("c1")})])
|
|
20
23
|
)
|
|
21
24
|
|
|
22
25
|
test("translate success marks the TODO Completed", () =>
|
|
23
|
-
givenTodo("o1", {orderId: "o1", customerId: "c1"})
|
|
26
|
+
givenTodo("o1", {orderId: oid("o1"), customerId: cid("c1")})
|
|
24
27
|
->whenTranslateMocked((_id, _item) => Promise.resolve(Ok(None)))
|
|
25
28
|
->thenTodoStatus("o1", #Completed)
|
|
26
29
|
)
|
|
27
30
|
|
|
28
31
|
test("translate failure leaves the TODO Pending for retry", () =>
|
|
29
|
-
givenTodo("o1", {orderId: "o1", customerId: "c1"})
|
|
32
|
+
givenTodo("o1", {orderId: oid("o1"), customerId: cid("c1")})
|
|
30
33
|
->whenTranslateMocked((_id, _item) => Promise.resolve(Error("smtp down")))
|
|
31
34
|
->thenTodoStatus("o1", #Pending)
|
|
32
35
|
)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -3,14 +3,17 @@
|
|
|
3
3
|
// `orderId` is in the payload, so the envelope id adds nothing here.
|
|
4
4
|
let collect = (event, ~sourceId as _) =>
|
|
5
5
|
switch event {
|
|
6
|
-
| OrderPlaced({orderId, customerId}) => [(orderId, {orderId, customerId})]
|
|
6
|
+
| OrderPlaced({orderId, customerId}) => [(orderId->OrderId.toString, {orderId, customerId})]
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
// This slice calls a service the framework does not broker, so it reaches its
|
|
10
10
|
// mailer directly and ignores the injected capabilities.
|
|
11
11
|
let translate = async (_id, item, ~capabilities as _) => {
|
|
12
12
|
try {
|
|
13
|
-
await EmailService.sendOrderConfirmation(
|
|
13
|
+
await EmailService.sendOrderConfirmation(
|
|
14
|
+
~email=item.customerId->CustomerId.toString,
|
|
15
|
+
~orderId=item.orderId->OrderId.toString,
|
|
16
|
+
)
|
|
14
17
|
Ok(None)
|
|
15
18
|
} catch {
|
|
16
19
|
| exn =>
|
|
Binary file
|
|
Binary file
|
package/lib/ocaml/ShipOrder.ast
CHANGED
|
Binary file
|
package/lib/ocaml/ShipOrder.res
CHANGED
|
@@ -9,7 +9,7 @@ type consumedEvent =
|
|
|
9
9
|
| OrderCancelled
|
|
10
10
|
|
|
11
11
|
@schema
|
|
12
|
-
type command = ShipOrder({orderId:
|
|
12
|
+
type command = ShipOrder({orderId: OrderId.t})
|
|
13
13
|
|
|
14
14
|
@schema
|
|
15
15
|
type error =
|
|
@@ -17,7 +17,7 @@ type error =
|
|
|
17
17
|
| OrderAlreadyCancelled
|
|
18
18
|
|
|
19
19
|
@schema
|
|
20
|
-
type event = OrderShipped({orderId:
|
|
20
|
+
type event = OrderShipped({orderId: OrderId.t})
|
|
21
21
|
|
|
22
22
|
type lifecycleState = Orders.lifecycle
|
|
23
23
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
@@reventless.gwt
|
|
2
2
|
|
|
3
|
+
let oid = OrderId.make
|
|
4
|
+
|
|
3
5
|
describe("ShipOrder StateChangeSlice", () => {
|
|
4
6
|
test("non-existent order returns OrderNotFound", () =>
|
|
5
7
|
givenEvents([])
|
|
6
|
-
->whenCmd(ShipOrder({orderId: "o1"}))
|
|
8
|
+
->whenCmd(ShipOrder({orderId: oid("o1")}))
|
|
7
9
|
->thenError(OrderNotFound)
|
|
8
10
|
)
|
|
9
11
|
|
|
10
12
|
test("placed order produces OrderShipped", () =>
|
|
11
13
|
givenEvents([OrderPlaced])
|
|
12
|
-
->whenCmd(ShipOrder({orderId: "o1"}))
|
|
13
|
-
->thenEvent(OrderShipped({orderId: "o1"}))
|
|
14
|
+
->whenCmd(ShipOrder({orderId: oid("o1")}))
|
|
15
|
+
->thenEvent(OrderShipped({orderId: oid("o1")}))
|
|
14
16
|
)
|
|
15
17
|
|
|
16
18
|
test("already shipped order produces no events (idempotent)", () =>
|
|
17
19
|
givenEvents([OrderPlaced, OrderShipped])
|
|
18
|
-
->whenCmd(ShipOrder({orderId: "o1"}))
|
|
20
|
+
->whenCmd(ShipOrder({orderId: oid("o1")}))
|
|
19
21
|
->thenNoEvent
|
|
20
22
|
)
|
|
21
23
|
|
|
22
24
|
test("cancelled order returns OrderAlreadyCancelled", () =>
|
|
23
25
|
givenEvents([OrderPlaced, OrderCancelled])
|
|
24
|
-
->whenCmd(ShipOrder({orderId: "o1"}))
|
|
26
|
+
->whenCmd(ShipOrder({orderId: oid("o1")}))
|
|
25
27
|
->thenError(OrderAlreadyCancelled)
|
|
26
28
|
)
|
|
27
29
|
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -9,13 +9,13 @@ type consumedEvent =
|
|
|
9
9
|
|
|
10
10
|
@schema
|
|
11
11
|
type command =
|
|
12
|
-
| SyncNewProduct({productId:
|
|
13
|
-
| ChangeSyncedPrice({productId:
|
|
12
|
+
| SyncNewProduct({productId: CatalogSpec.ProductId.t, name: string, price: float})
|
|
13
|
+
| ChangeSyncedPrice({productId: CatalogSpec.ProductId.t, price: float})
|
|
14
14
|
|
|
15
15
|
@schema
|
|
16
16
|
type error = unit // always succeeds — sync is idempotent
|
|
17
17
|
|
|
18
18
|
@schema
|
|
19
19
|
type event =
|
|
20
|
-
| CatalogProductSynced({productId:
|
|
21
|
-
| CatalogProductPriceChanged({productId:
|
|
20
|
+
| CatalogProductSynced({productId: CatalogSpec.ProductId.t, name: string, price: float})
|
|
21
|
+
| CatalogProductPriceChanged({productId: CatalogSpec.ProductId.t, price: float})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
@@reventless.gwt
|
|
2
2
|
|
|
3
|
+
let pid = CatalogSpec.ProductId.make
|
|
4
|
+
|
|
3
5
|
describe("SyncCatalogProduct StateChangeSlice", () => {
|
|
4
6
|
test("SyncNewProduct produces CatalogProductSynced", () =>
|
|
5
7
|
givenEvents([])
|
|
6
|
-
->whenCmd(SyncNewProduct({productId: "p1", name: "Laptop", price: 999.99}))
|
|
7
|
-
->thenEvent(CatalogProductSynced({productId: "p1", name: "Laptop", price: 999.99}))
|
|
8
|
+
->whenCmd(SyncNewProduct({productId: pid("p1"), name: "Laptop", price: 999.99}))
|
|
9
|
+
->thenEvent(CatalogProductSynced({productId: pid("p1"), name: "Laptop", price: 999.99}))
|
|
8
10
|
)
|
|
9
11
|
|
|
10
12
|
test("ChangeSyncedPrice produces CatalogProductPriceChanged", () =>
|
|
11
13
|
givenEvents([CatalogProductSynced({name: "Laptop", price: 999.99})])
|
|
12
|
-
->whenCmd(ChangeSyncedPrice({productId: "p1", price: 899.99}))
|
|
13
|
-
->thenEvent(CatalogProductPriceChanged({productId: "p1", price: 899.99}))
|
|
14
|
+
->whenCmd(ChangeSyncedPrice({productId: pid("p1"), price: 899.99}))
|
|
15
|
+
->thenEvent(CatalogProductPriceChanged({productId: pid("p1"), price: 899.99}))
|
|
14
16
|
)
|
|
15
17
|
|
|
16
18
|
test("re-syncing identical product data produces no events (idempotent)", () =>
|
|
17
19
|
givenEvents([CatalogProductSynced({name: "Laptop", price: 999.99})])
|
|
18
|
-
->whenCmd(SyncNewProduct({productId: "p1", name: "Laptop", price: 999.99}))
|
|
20
|
+
->whenCmd(SyncNewProduct({productId: pid("p1"), name: "Laptop", price: 999.99}))
|
|
19
21
|
->thenNoEvent
|
|
20
22
|
)
|
|
21
23
|
|
|
22
24
|
test("re-applying the current price produces no events (idempotent)", () =>
|
|
23
25
|
givenEvents([CatalogProductSynced({name: "Laptop", price: 999.99})])
|
|
24
|
-
->whenCmd(ChangeSyncedPrice({productId: "p1", price: 999.99}))
|
|
26
|
+
->whenCmd(ChangeSyncedPrice({productId: pid("p1"), price: 999.99}))
|
|
25
27
|
->thenNoEvent
|
|
26
28
|
)
|
|
27
29
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reventlessdev/online-shop-dcb-ordering",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.248",
|
|
4
4
|
"description": "Online Shop example — Ordering bounded context (Customer & Order) using the DCB pattern",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"jest": {
|
|
@@ -21,18 +21,18 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"sury": "11.0.0-rc.2",
|
|
24
|
-
"@reventlessdev/online-shop-dcb-
|
|
25
|
-
"@reventlessdev/online-shop-dcb-
|
|
24
|
+
"@reventlessdev/online-shop-dcb-catalog-spec": "1.0.0-alpha.140",
|
|
25
|
+
"@reventlessdev/online-shop-dcb-ordering-spec": "1.0.0-alpha.140",
|
|
26
26
|
"@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.21",
|
|
27
|
-
"@reventlessdev/reventless-gwt": "1.0.0-alpha.
|
|
28
|
-
"@reventlessdev/reventless-infra": "3.0.0-alpha.
|
|
29
|
-
"@reventlessdev/reventless-local": "3.0.0-alpha.
|
|
30
|
-
"@reventlessdev/reventless-spec": "3.0.0-alpha.
|
|
27
|
+
"@reventlessdev/reventless-gwt": "1.0.0-alpha.215",
|
|
28
|
+
"@reventlessdev/reventless-infra": "3.0.0-alpha.168",
|
|
29
|
+
"@reventlessdev/reventless-local": "3.0.0-alpha.258",
|
|
30
|
+
"@reventlessdev/reventless-spec": "3.0.0-alpha.140"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"rescript": "12.3.0",
|
|
34
34
|
"sury-ppx": "11.0.0-rc.2",
|
|
35
|
-
"@reventlessdev/reventless-ppx": "1.0.0-alpha.
|
|
35
|
+
"@reventlessdev/reventless-ppx": "1.0.0-alpha.81"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"rescript": "12.3.0"
|
|
@@ -9,13 +9,13 @@ type consumedEvent =
|
|
|
9
9
|
|
|
10
10
|
@schema
|
|
11
11
|
type command =
|
|
12
|
-
| SyncNewProduct({productId:
|
|
13
|
-
| ChangeSyncedPrice({productId:
|
|
12
|
+
| SyncNewProduct({productId: CatalogSpec.ProductId.t, name: string, price: float})
|
|
13
|
+
| ChangeSyncedPrice({productId: CatalogSpec.ProductId.t, price: float})
|
|
14
14
|
|
|
15
15
|
@schema
|
|
16
16
|
type error = unit // always succeeds — sync is idempotent
|
|
17
17
|
|
|
18
18
|
@schema
|
|
19
19
|
type event =
|
|
20
|
-
| CatalogProductSynced({productId:
|
|
21
|
-
| CatalogProductPriceChanged({productId:
|
|
20
|
+
| CatalogProductSynced({productId: CatalogSpec.ProductId.t, name: string, price: float})
|
|
21
|
+
| CatalogProductPriceChanged({productId: CatalogSpec.ProductId.t, price: float})
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import * as Sury from "sury";
|
|
4
4
|
import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
|
|
5
|
+
import * as ProductId$CatalogSpec from "@reventlessdev/online-shop-dcb-catalog-spec/src/ProductId.res.mjs";
|
|
5
6
|
|
|
6
7
|
let consumedEventSchema = Sury.union([
|
|
7
8
|
Sury.$schema(s => ({
|
|
@@ -18,13 +19,13 @@ let consumedEventSchema = Sury.union([
|
|
|
18
19
|
let commandSchema = Sury.union([
|
|
19
20
|
Sury.$schema(s => ({
|
|
20
21
|
TAG: "SyncNewProduct",
|
|
21
|
-
productId: s.m(DcbTag$Reventless.
|
|
22
|
+
productId: s.m(DcbTag$Reventless.mark(ProductId$CatalogSpec.schema)),
|
|
22
23
|
name: s.m(Sury.string),
|
|
23
24
|
price: s.m(Sury.float)
|
|
24
25
|
})),
|
|
25
26
|
Sury.$schema(s => ({
|
|
26
27
|
TAG: "ChangeSyncedPrice",
|
|
27
|
-
productId: s.m(DcbTag$Reventless.
|
|
28
|
+
productId: s.m(DcbTag$Reventless.mark(ProductId$CatalogSpec.schema)),
|
|
28
29
|
price: s.m(Sury.float)
|
|
29
30
|
}))
|
|
30
31
|
]);
|
|
@@ -34,13 +35,13 @@ let errorSchema = Sury.$unit;
|
|
|
34
35
|
let eventSchema = Sury.union([
|
|
35
36
|
Sury.$schema(s => ({
|
|
36
37
|
TAG: "CatalogProductSynced",
|
|
37
|
-
productId: s.m(DcbTag$Reventless.
|
|
38
|
+
productId: s.m(DcbTag$Reventless.mark(ProductId$CatalogSpec.schema)),
|
|
38
39
|
name: s.m(Sury.string),
|
|
39
40
|
price: s.m(Sury.float)
|
|
40
41
|
})),
|
|
41
42
|
Sury.$schema(s => ({
|
|
42
43
|
TAG: "CatalogProductPriceChanged",
|
|
43
|
-
productId: s.m(DcbTag$Reventless.
|
|
44
|
+
productId: s.m(DcbTag$Reventless.mark(ProductId$CatalogSpec.schema)),
|
|
44
45
|
price: s.m(Sury.float)
|
|
45
46
|
}))
|
|
46
47
|
]);
|
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
@@reventless.spec
|
|
5
5
|
@@reventless.visibility(Internal)
|
|
6
6
|
|
|
7
|
+
// Rows are keyed by this identity.
|
|
8
|
+
module Key = CatalogSpec.ProductId
|
|
9
|
+
|
|
7
10
|
@schema
|
|
8
|
-
type state = {productId:
|
|
11
|
+
type state = {productId: CatalogSpec.ProductId.t, name: string, price: float}
|
|
9
12
|
|
|
10
13
|
@schema
|
|
11
14
|
type consumedEvent =
|
|
12
|
-
| CatalogProductSynced({productId:
|
|
13
|
-
| CatalogProductPriceChanged({productId:
|
|
15
|
+
| CatalogProductSynced({productId: CatalogSpec.ProductId.t, name: string, price: float})
|
|
16
|
+
| CatalogProductPriceChanged({productId: CatalogSpec.ProductId.t, price: float})
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
import * as Sury from "sury";
|
|
4
4
|
import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
|
|
5
5
|
import * as ReadModel$Reventless from "@reventlessdev/reventless-spec/src/components/ReadModel.res.mjs";
|
|
6
|
+
import * as ProductId$CatalogSpec from "@reventlessdev/online-shop-dcb-catalog-spec/src/ProductId.res.mjs";
|
|
6
7
|
import * as StateAnnotations$Reventless from "@reventlessdev/reventless-spec/src/components/StateAnnotations.res.mjs";
|
|
7
8
|
|
|
8
9
|
let stateSchema = Sury.$schema(s => ({
|
|
9
|
-
productId: s.m(
|
|
10
|
+
productId: s.m(ProductId$CatalogSpec.schema),
|
|
10
11
|
name: s.m(Sury.string),
|
|
11
12
|
price: s.m(Sury.float)
|
|
12
13
|
}));
|
|
@@ -14,13 +15,13 @@ let stateSchema = Sury.$schema(s => ({
|
|
|
14
15
|
let consumedEventSchema = Sury.union([
|
|
15
16
|
Sury.$schema(s => ({
|
|
16
17
|
TAG: "CatalogProductSynced",
|
|
17
|
-
productId: s.m(DcbTag$Reventless.
|
|
18
|
+
productId: s.m(DcbTag$Reventless.mark(ProductId$CatalogSpec.schema)),
|
|
18
19
|
name: s.m(Sury.string),
|
|
19
20
|
price: s.m(Sury.float)
|
|
20
21
|
})),
|
|
21
22
|
Sury.$schema(s => ({
|
|
22
23
|
TAG: "CatalogProductPriceChanged",
|
|
23
|
-
productId: s.m(DcbTag$Reventless.
|
|
24
|
+
productId: s.m(DcbTag$Reventless.mark(ProductId$CatalogSpec.schema)),
|
|
24
25
|
price: s.m(Sury.float)
|
|
25
26
|
}))
|
|
26
27
|
]);
|
|
@@ -54,6 +55,8 @@ let name = "AvailableProducts";
|
|
|
54
55
|
|
|
55
56
|
let Id;
|
|
56
57
|
|
|
58
|
+
let Key;
|
|
59
|
+
|
|
57
60
|
let subIdConfig;
|
|
58
61
|
|
|
59
62
|
let moduleUrl = "@reventlessdev/online-shop-dcb-ordering/src/CatalogProduct/StateView/AvailableProducts.res.mjs";
|
|
@@ -65,6 +68,7 @@ let visibility = "Internal";
|
|
|
65
68
|
export {
|
|
66
69
|
name,
|
|
67
70
|
Id,
|
|
71
|
+
Key,
|
|
68
72
|
consumedEventSchema,
|
|
69
73
|
config,
|
|
70
74
|
subIdConfig,
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
+
|
|
3
|
+
import * as Id$Reventless from "@reventlessdev/reventless-spec/src/types/Id.res.mjs";
|
|
4
|
+
|
|
5
|
+
let include = Id$Reventless.Make({
|
|
6
|
+
key: "customerId"
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
let schema = include.schema;
|
|
10
|
+
|
|
11
|
+
let make = include.make;
|
|
12
|
+
|
|
13
|
+
let makeFromString = include.makeFromString;
|
|
14
|
+
|
|
15
|
+
let toString = include.toString;
|
|
16
|
+
|
|
17
|
+
let cmp = include.cmp;
|
|
18
|
+
|
|
19
|
+
let key = include.key;
|
|
20
|
+
|
|
21
|
+
export {
|
|
22
|
+
schema,
|
|
23
|
+
make,
|
|
24
|
+
makeFromString,
|
|
25
|
+
toString,
|
|
26
|
+
cmp,
|
|
27
|
+
key,
|
|
28
|
+
}
|
|
29
|
+
/* include Not a pure module */
|
|
@@ -9,7 +9,7 @@ type consumedEvent =
|
|
|
9
9
|
| CustomerDeactivated
|
|
10
10
|
|
|
11
11
|
@schema
|
|
12
|
-
type command = ChangeAddress({customerId:
|
|
12
|
+
type command = ChangeAddress({customerId: CustomerId.t, address: string})
|
|
13
13
|
|
|
14
14
|
@schema
|
|
15
15
|
type error =
|
|
@@ -17,4 +17,4 @@ type error =
|
|
|
17
17
|
| CustomerAlreadyDeactivated
|
|
18
18
|
|
|
19
19
|
@schema
|
|
20
|
-
type event = AddressChanged({customerId:
|
|
20
|
+
type event = AddressChanged({customerId: CustomerId.t, address: string})
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import * as Sury from "sury";
|
|
4
4
|
import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
|
|
5
|
+
import * as CustomerId$OrderingPlugin from "../CustomerId.res.mjs";
|
|
5
6
|
|
|
6
7
|
let consumedEventSchema = Sury.union([
|
|
7
8
|
Sury.$schema(s => ({
|
|
@@ -17,7 +18,7 @@ let consumedEventSchema = Sury.union([
|
|
|
17
18
|
|
|
18
19
|
let commandSchema = Sury.$schema(s => ({
|
|
19
20
|
TAG: "ChangeAddress",
|
|
20
|
-
customerId: s.m(DcbTag$Reventless.
|
|
21
|
+
customerId: s.m(DcbTag$Reventless.mark(CustomerId$OrderingPlugin.schema)),
|
|
21
22
|
address: s.m(Sury.string)
|
|
22
23
|
}));
|
|
23
24
|
|
|
@@ -28,7 +29,7 @@ let errorSchema = Sury.union([
|
|
|
28
29
|
|
|
29
30
|
let eventSchema = Sury.$schema(s => ({
|
|
30
31
|
TAG: "AddressChanged",
|
|
31
|
-
customerId: s.m(DcbTag$Reventless.
|
|
32
|
+
customerId: s.m(DcbTag$Reventless.mark(CustomerId$OrderingPlugin.schema)),
|
|
32
33
|
address: s.m(Sury.string)
|
|
33
34
|
}));
|
|
34
35
|
|
|
@@ -9,7 +9,7 @@ type consumedEvent =
|
|
|
9
9
|
| CustomerDeactivated
|
|
10
10
|
|
|
11
11
|
@schema
|
|
12
|
-
type command = ChangeEmail({customerId:
|
|
12
|
+
type command = ChangeEmail({customerId: CustomerId.t, email: string})
|
|
13
13
|
|
|
14
14
|
@schema
|
|
15
15
|
type error =
|
|
@@ -17,4 +17,4 @@ type error =
|
|
|
17
17
|
| CustomerAlreadyDeactivated
|
|
18
18
|
|
|
19
19
|
@schema
|
|
20
|
-
type event = EmailChanged({customerId:
|
|
20
|
+
type event = EmailChanged({customerId: CustomerId.t, email: string})
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import * as Sury from "sury";
|
|
4
4
|
import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
|
|
5
|
+
import * as CustomerId$OrderingPlugin from "../CustomerId.res.mjs";
|
|
5
6
|
|
|
6
7
|
let consumedEventSchema = Sury.union([
|
|
7
8
|
Sury.$schema(s => ({
|
|
@@ -17,7 +18,7 @@ let consumedEventSchema = Sury.union([
|
|
|
17
18
|
|
|
18
19
|
let commandSchema = Sury.$schema(s => ({
|
|
19
20
|
TAG: "ChangeEmail",
|
|
20
|
-
customerId: s.m(DcbTag$Reventless.
|
|
21
|
+
customerId: s.m(DcbTag$Reventless.mark(CustomerId$OrderingPlugin.schema)),
|
|
21
22
|
email: s.m(Sury.string)
|
|
22
23
|
}));
|
|
23
24
|
|
|
@@ -28,7 +29,7 @@ let errorSchema = Sury.union([
|
|
|
28
29
|
|
|
29
30
|
let eventSchema = Sury.$schema(s => ({
|
|
30
31
|
TAG: "EmailChanged",
|
|
31
|
-
customerId: s.m(DcbTag$Reventless.
|
|
32
|
+
customerId: s.m(DcbTag$Reventless.mark(CustomerId$OrderingPlugin.schema)),
|
|
32
33
|
email: s.m(Sury.string)
|
|
33
34
|
}));
|
|
34
35
|
|
|
@@ -8,10 +8,10 @@ type consumedEvent =
|
|
|
8
8
|
| CustomerDeactivated
|
|
9
9
|
|
|
10
10
|
@schema
|
|
11
|
-
type command = DeactivateCustomer({customerId:
|
|
11
|
+
type command = DeactivateCustomer({customerId: CustomerId.t})
|
|
12
12
|
|
|
13
13
|
@schema
|
|
14
14
|
type error = CustomerNotFound
|
|
15
15
|
|
|
16
16
|
@schema
|
|
17
|
-
type event = CustomerDeactivated({customerId:
|
|
17
|
+
type event = CustomerDeactivated({customerId: CustomerId.t})
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import * as Sury from "sury";
|
|
4
4
|
import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
|
|
5
|
+
import * as CustomerId$OrderingPlugin from "../CustomerId.res.mjs";
|
|
5
6
|
|
|
6
7
|
let consumedEventSchema = Sury.union([
|
|
7
8
|
Sury.literal("CustomerRegistered"),
|
|
@@ -10,14 +11,14 @@ let consumedEventSchema = Sury.union([
|
|
|
10
11
|
|
|
11
12
|
let commandSchema = Sury.$schema(s => ({
|
|
12
13
|
TAG: "DeactivateCustomer",
|
|
13
|
-
customerId: s.m(DcbTag$Reventless.
|
|
14
|
+
customerId: s.m(DcbTag$Reventless.mark(CustomerId$OrderingPlugin.schema))
|
|
14
15
|
}));
|
|
15
16
|
|
|
16
17
|
let errorSchema = Sury.literal("CustomerNotFound");
|
|
17
18
|
|
|
18
19
|
let eventSchema = Sury.$schema(s => ({
|
|
19
20
|
TAG: "CustomerDeactivated",
|
|
20
|
-
customerId: s.m(DcbTag$Reventless.
|
|
21
|
+
customerId: s.m(DcbTag$Reventless.mark(CustomerId$OrderingPlugin.schema))
|
|
21
22
|
}));
|
|
22
23
|
|
|
23
24
|
function commandAuthorization(param) {
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
type consumedEvent = CustomerRegistered
|
|
7
7
|
|
|
8
8
|
@schema
|
|
9
|
-
type command = RegisterCustomer({customerId:
|
|
9
|
+
type command = RegisterCustomer({customerId: CustomerId.t, email: string, address: string})
|
|
10
10
|
|
|
11
11
|
@schema
|
|
12
12
|
type error = CustomerAlreadyRegistered
|
|
13
13
|
|
|
14
14
|
@schema
|
|
15
|
-
type event = CustomerRegistered({customerId:
|
|
15
|
+
type event = CustomerRegistered({customerId: CustomerId.t, email: string, address: string})
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
import * as Sury from "sury";
|
|
4
4
|
import * as DcbTag$Reventless from "@reventlessdev/reventless-spec/src/components/DcbTag.res.mjs";
|
|
5
|
+
import * as CustomerId$OrderingPlugin from "../CustomerId.res.mjs";
|
|
5
6
|
|
|
6
7
|
let consumedEventSchema = Sury.literal("CustomerRegistered");
|
|
7
8
|
|
|
8
9
|
let commandSchema = Sury.$schema(s => ({
|
|
9
10
|
TAG: "RegisterCustomer",
|
|
10
|
-
customerId: s.m(DcbTag$Reventless.
|
|
11
|
+
customerId: s.m(DcbTag$Reventless.mark(CustomerId$OrderingPlugin.schema)),
|
|
11
12
|
email: s.m(Sury.string),
|
|
12
13
|
address: s.m(Sury.string)
|
|
13
14
|
}));
|
|
@@ -16,7 +17,7 @@ let errorSchema = Sury.literal("CustomerAlreadyRegistered");
|
|
|
16
17
|
|
|
17
18
|
let eventSchema = Sury.$schema(s => ({
|
|
18
19
|
TAG: "CustomerRegistered",
|
|
19
|
-
customerId: s.m(DcbTag$Reventless.
|
|
20
|
+
customerId: s.m(DcbTag$Reventless.mark(CustomerId$OrderingPlugin.schema)),
|
|
20
21
|
email: s.m(Sury.string),
|
|
21
22
|
address: s.m(Sury.string)
|
|
22
23
|
}));
|
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
// Projects customer events from the shared ordering event log into a Customers read model.
|
|
3
3
|
@@reventless.spec
|
|
4
4
|
|
|
5
|
+
// Rows are keyed by this identity.
|
|
6
|
+
module Key = CustomerId
|
|
7
|
+
|
|
5
8
|
@schema
|
|
6
9
|
type state = {
|
|
7
|
-
customerId:
|
|
10
|
+
customerId: CustomerId.t,
|
|
8
11
|
@displayName email: string,
|
|
9
12
|
address: string,
|
|
10
13
|
deactivated: bool,
|
|
@@ -12,7 +15,7 @@ type state = {
|
|
|
12
15
|
|
|
13
16
|
@schema
|
|
14
17
|
type consumedEvent =
|
|
15
|
-
| CustomerRegistered({customerId:
|
|
16
|
-
| EmailChanged({customerId:
|
|
17
|
-
| AddressChanged({customerId:
|
|
18
|
-
| CustomerDeactivated({customerId:
|
|
18
|
+
| CustomerRegistered({customerId: CustomerId.t, email: string, address: string})
|
|
19
|
+
| EmailChanged({customerId: CustomerId.t, email: string})
|
|
20
|
+
| AddressChanged({customerId: CustomerId.t, address: string})
|
|
21
|
+
| CustomerDeactivated({customerId: CustomerId.t})
|