@reventlessdev/online-shop-dcb-ordering 1.0.0-alpha.103
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 +885 -0
- package/LICENSE +202 -0
- package/__mocks__/emptyModule.js +1 -0
- package/lib/bs/.compiler.log +2 -0
- package/lib/bs/OrderingPlugin.cmi +0 -0
- package/lib/bs/OrderingPlugin.cmj +0 -0
- package/lib/bs/OrderingPlugin.cmt +0 -0
- package/lib/bs/OrderingPlugin.mlmap +46 -0
- package/lib/bs/build.ninja +0 -0
- package/lib/bs/compiler-info.json +8 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.ast +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res +28 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res.mjs +71 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.ast +0 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.res +27 -0
- package/lib/bs/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.res.mjs +73 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts.ast +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts.res +13 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts.res.mjs +70 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.ast +0 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.res +8 -0
- package/lib/bs/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.res.mjs +38 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress.res +20 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress.res.mjs +58 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior.res +30 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeAddress_Behavior.res.mjs +74 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail.res +20 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail.res.mjs +58 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior.res +26 -0
- package/lib/bs/src/Customer/StateChangeSlice/ChangeEmail_Behavior.res.mjs +74 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer.res +17 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer.res.mjs +46 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.res +23 -0
- package/lib/bs/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.res.mjs +58 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer.res +22 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer.res.mjs +47 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.ast +0 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.res +20 -0
- package/lib/bs/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.res.mjs +44 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers.ast +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers.res +18 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers.res.mjs +69 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers_Projection-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers_Projection-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers_Projection-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers_Projection.ast +0 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers_Projection.res +13 -0
- package/lib/bs/src/Customer/StateViewSlice/Customers_Projection.res.mjs +62 -0
- package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Extension/Products_Extension.ast +0 -0
- package/lib/bs/src/Extension/Products_Extension.res +23 -0
- package/lib/bs/src/Extension/Products_Extension.res.mjs +43 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmj +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 +33 -0
- package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping.res.mjs +82 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder.ast +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder.res +19 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder.res.mjs +42 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation.ast +0 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation.res +36 -0
- package/lib/bs/src/Order/AutomationSlice/AutoShipOrder_Automation.res.mjs +101 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation.ast +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation.res +19 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation.res.mjs +42 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.ast +0 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.res +24 -0
- package/lib/bs/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.res.mjs +46 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder.ast +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder.res +24 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder.res.mjs +60 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior.ast +0 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior.res +26 -0
- package/lib/bs/src/Order/StateChangeSlice/CancelOrder_Behavior.res.mjs +81 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder.ast +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder.res +33 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder.res.mjs +63 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior.ast +0 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior.res +44 -0
- package/lib/bs/src/Order/StateChangeSlice/PlaceOrder_Behavior.res.mjs +70 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder.ast +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder.res +21 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder.res.mjs +56 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior.ast +0 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior.res +26 -0
- package/lib/bs/src/Order/StateChangeSlice/ShipOrder_Behavior.res.mjs +73 -0
- package/lib/bs/src/Order/StateViewSlice/Orders-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders.ast +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders.res +23 -0
- package/lib/bs/src/Order/StateViewSlice/Orders.res.mjs +81 -0
- package/lib/bs/src/Order/StateViewSlice/Orders_Projection-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders_Projection-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders_Projection-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders_Projection.ast +0 -0
- package/lib/bs/src/Order/StateViewSlice/Orders_Projection.res +10 -0
- package/lib/bs/src/Order/StateViewSlice/Orders_Projection.res.mjs +52 -0
- package/lib/bs/src/Plugin-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Plugin-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Plugin-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Plugin.ast +0 -0
- package/lib/bs/src/Plugin.res +64 -0
- package/lib/bs/src/Plugin.res.mjs +346 -0
- package/lib/bs/src/Service/EmailService-OrderingPlugin.cmi +0 -0
- package/lib/bs/src/Service/EmailService-OrderingPlugin.cmj +0 -0
- package/lib/bs/src/Service/EmailService-OrderingPlugin.cmt +0 -0
- package/lib/bs/src/Service/EmailService.ast +0 -0
- package/lib/bs/src/Service/EmailService.res +3 -0
- package/lib/bs/src/Service/EmailService.res.mjs +11 -0
- package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.ast +0 -0
- package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.res +27 -0
- package/lib/bs/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.res.mjs +109 -0
- package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.ast +0 -0
- package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.res +15 -0
- package/lib/bs/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.res.mjs +93 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT.res +27 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeAddress_GWT.res.mjs +102 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT.res +27 -0
- package/lib/bs/tests/Customer/StateChangeSlice/ChangeEmail_GWT.res.mjs +102 -0
- package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.res +21 -0
- package/lib/bs/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.res.mjs +84 -0
- package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.res +21 -0
- package/lib/bs/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.res.mjs +83 -0
- package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT.ast +0 -0
- package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT.res +45 -0
- package/lib/bs/tests/Customer/StateViewSlice/Customers_GWT.res.mjs +124 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmj +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 +23 -0
- package/lib/bs/tests/Extension/Products_Extension_GWT.res.mjs +108 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmj +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 +23 -0
- package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res.mjs +139 -0
- package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT.ast +0 -0
- package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT.res +55 -0
- package/lib/bs/tests/Order/AutomationSlice/AutoShipOrder_GWT.res.mjs +133 -0
- package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.ast +0 -0
- package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.res +33 -0
- package/lib/bs/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.res.mjs +101 -0
- package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT.ast +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT.res +27 -0
- package/lib/bs/tests/Order/StateChangeSlice/CancelOrder_GWT.res.mjs +107 -0
- package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT.ast +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT.res +39 -0
- package/lib/bs/tests/Order/StateChangeSlice/PlaceOrder_GWT.res.mjs +139 -0
- package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT.ast +0 -0
- package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT.res +27 -0
- package/lib/bs/tests/Order/StateChangeSlice/ShipOrder_GWT.res.mjs +91 -0
- package/lib/bs/tests/Order/StateViewSlice/Orders_GWT-OrderingPlugin.cmi +0 -0
- package/lib/bs/tests/Order/StateViewSlice/Orders_GWT-OrderingPlugin.cmj +0 -0
- package/lib/bs/tests/Order/StateViewSlice/Orders_GWT-OrderingPlugin.cmt +0 -0
- package/lib/bs/tests/Order/StateViewSlice/Orders_GWT.ast +0 -0
- package/lib/bs/tests/Order/StateViewSlice/Orders_GWT.res +36 -0
- package/lib/bs/tests/Order/StateViewSlice/Orders_GWT.res.mjs +114 -0
- package/lib/ocaml/.compiler.log +2 -0
- package/lib/ocaml/AutoShipOrder-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AutoShipOrder-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/AutoShipOrder-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AutoShipOrder.ast +0 -0
- package/lib/ocaml/AutoShipOrder.res +19 -0
- package/lib/ocaml/AutoShipOrder_Automation-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AutoShipOrder_Automation-OrderingPlugin.cmj +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 +36 -0
- package/lib/ocaml/AutoShipOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AutoShipOrder_GWT-OrderingPlugin.cmj +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 +55 -0
- package/lib/ocaml/AvailableProducts-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AvailableProducts-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/AvailableProducts-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AvailableProducts.ast +0 -0
- package/lib/ocaml/AvailableProducts.res +13 -0
- package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmj +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 +15 -0
- package/lib/ocaml/AvailableProducts_Projection-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/AvailableProducts_Projection-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/AvailableProducts_Projection-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/AvailableProducts_Projection.ast +0 -0
- package/lib/ocaml/AvailableProducts_Projection.res +8 -0
- package/lib/ocaml/CancelOrder-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CancelOrder-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/CancelOrder-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/CancelOrder.ast +0 -0
- package/lib/ocaml/CancelOrder.res +24 -0
- package/lib/ocaml/CancelOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CancelOrder_Behavior-OrderingPlugin.cmj +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 +26 -0
- package/lib/ocaml/CancelOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/CancelOrder_GWT-OrderingPlugin.cmj +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 +27 -0
- package/lib/ocaml/ChangeAddress-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeAddress-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ChangeAddress-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeAddress.ast +0 -0
- package/lib/ocaml/ChangeAddress.res +20 -0
- package/lib/ocaml/ChangeAddress_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeAddress_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ChangeAddress_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeAddress_Behavior.ast +0 -0
- package/lib/ocaml/ChangeAddress_Behavior.res +30 -0
- package/lib/ocaml/ChangeAddress_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeAddress_GWT-OrderingPlugin.cmj +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 +27 -0
- package/lib/ocaml/ChangeEmail-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeEmail-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ChangeEmail-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeEmail.ast +0 -0
- package/lib/ocaml/ChangeEmail.res +20 -0
- package/lib/ocaml/ChangeEmail_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeEmail_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ChangeEmail_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ChangeEmail_Behavior.ast +0 -0
- package/lib/ocaml/ChangeEmail_Behavior.res +26 -0
- package/lib/ocaml/ChangeEmail_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ChangeEmail_GWT-OrderingPlugin.cmj +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 +27 -0
- package/lib/ocaml/Customers-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customers-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Customers-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customers.ast +0 -0
- package/lib/ocaml/Customers.res +18 -0
- package/lib/ocaml/Customers_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customers_GWT-OrderingPlugin.cmj +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 +45 -0
- package/lib/ocaml/Customers_Projection-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Customers_Projection-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Customers_Projection-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Customers_Projection.ast +0 -0
- package/lib/ocaml/Customers_Projection.res +13 -0
- package/lib/ocaml/DeactivateCustomer-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/DeactivateCustomer-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/DeactivateCustomer-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/DeactivateCustomer.ast +0 -0
- package/lib/ocaml/DeactivateCustomer.res +17 -0
- package/lib/ocaml/DeactivateCustomer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/DeactivateCustomer_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/DeactivateCustomer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/DeactivateCustomer_Behavior.ast +0 -0
- package/lib/ocaml/DeactivateCustomer_Behavior.res +23 -0
- package/lib/ocaml/DeactivateCustomer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/DeactivateCustomer_GWT-OrderingPlugin.cmj +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 +21 -0
- package/lib/ocaml/EmailService-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/EmailService-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/EmailService-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/EmailService.ast +0 -0
- package/lib/ocaml/EmailService.res +3 -0
- package/lib/ocaml/OrderingPlugin.cmi +0 -0
- package/lib/ocaml/OrderingPlugin.cmj +0 -0
- package/lib/ocaml/OrderingPlugin.cmt +0 -0
- package/lib/ocaml/OrderingPlugin.mlmap +46 -0
- package/lib/ocaml/Orders-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Orders-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders.ast +0 -0
- package/lib/ocaml/Orders.res +23 -0
- package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmj +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 +33 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmj +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 +23 -0
- package/lib/ocaml/Orders_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_GWT-OrderingPlugin.cmj +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 +36 -0
- package/lib/ocaml/Orders_Projection-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Orders_Projection-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Orders_Projection-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Orders_Projection.ast +0 -0
- package/lib/ocaml/Orders_Projection.res +10 -0
- package/lib/ocaml/PlaceOrder-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/PlaceOrder-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/PlaceOrder-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/PlaceOrder.ast +0 -0
- package/lib/ocaml/PlaceOrder.res +33 -0
- package/lib/ocaml/PlaceOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/PlaceOrder_Behavior-OrderingPlugin.cmj +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 +44 -0
- package/lib/ocaml/PlaceOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/PlaceOrder_GWT-OrderingPlugin.cmj +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 +39 -0
- package/lib/ocaml/Plugin-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Plugin-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Plugin-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Plugin.ast +0 -0
- package/lib/ocaml/Plugin.res +64 -0
- package/lib/ocaml/Products_Extension-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Products_Extension-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/Products_Extension-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/Products_Extension.ast +0 -0
- package/lib/ocaml/Products_Extension.res +23 -0
- package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmj +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 +23 -0
- package/lib/ocaml/RegisterCustomer-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/RegisterCustomer-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/RegisterCustomer-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/RegisterCustomer.ast +0 -0
- package/lib/ocaml/RegisterCustomer.res +22 -0
- package/lib/ocaml/RegisterCustomer_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/RegisterCustomer_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/RegisterCustomer_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/RegisterCustomer_Behavior.ast +0 -0
- package/lib/ocaml/RegisterCustomer_Behavior.res +20 -0
- package/lib/ocaml/RegisterCustomer_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/RegisterCustomer_GWT-OrderingPlugin.cmj +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 +21 -0
- package/lib/ocaml/SendOrderConfirmation-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SendOrderConfirmation-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/SendOrderConfirmation-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SendOrderConfirmation.ast +0 -0
- package/lib/ocaml/SendOrderConfirmation.res +19 -0
- package/lib/ocaml/SendOrderConfirmation_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SendOrderConfirmation_GWT-OrderingPlugin.cmj +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 +33 -0
- package/lib/ocaml/SendOrderConfirmation_Translation-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SendOrderConfirmation_Translation-OrderingPlugin.cmj +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 +24 -0
- package/lib/ocaml/ShipOrder-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ShipOrder-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ShipOrder-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ShipOrder.ast +0 -0
- package/lib/ocaml/ShipOrder.res +21 -0
- package/lib/ocaml/ShipOrder_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ShipOrder_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/ShipOrder_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/ShipOrder_Behavior.ast +0 -0
- package/lib/ocaml/ShipOrder_Behavior.res +26 -0
- package/lib/ocaml/ShipOrder_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/ShipOrder_GWT-OrderingPlugin.cmj +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 +27 -0
- package/lib/ocaml/SyncCatalogProduct-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SyncCatalogProduct-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/SyncCatalogProduct-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SyncCatalogProduct.ast +0 -0
- package/lib/ocaml/SyncCatalogProduct.res +28 -0
- package/lib/ocaml/SyncCatalogProduct_Behavior-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SyncCatalogProduct_Behavior-OrderingPlugin.cmj +0 -0
- package/lib/ocaml/SyncCatalogProduct_Behavior-OrderingPlugin.cmt +0 -0
- package/lib/ocaml/SyncCatalogProduct_Behavior.ast +0 -0
- package/lib/ocaml/SyncCatalogProduct_Behavior.res +27 -0
- package/lib/ocaml/SyncCatalogProduct_GWT-OrderingPlugin.cmi +0 -0
- package/lib/ocaml/SyncCatalogProduct_GWT-OrderingPlugin.cmj +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 +27 -0
- package/package.json +52 -0
- package/rescript.json +37 -0
- package/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res +28 -0
- package/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct.res.mjs +71 -0
- package/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.res +27 -0
- package/src/CatalogProduct/StateChangeSlice/SyncCatalogProduct_Behavior.res.mjs +73 -0
- package/src/CatalogProduct/StateViewSlice/AvailableProducts.res +13 -0
- package/src/CatalogProduct/StateViewSlice/AvailableProducts.res.mjs +70 -0
- package/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.res +8 -0
- package/src/CatalogProduct/StateViewSlice/AvailableProducts_Projection.res.mjs +38 -0
- package/src/Customer/StateChangeSlice/ChangeAddress.res +20 -0
- package/src/Customer/StateChangeSlice/ChangeAddress.res.mjs +58 -0
- package/src/Customer/StateChangeSlice/ChangeAddress_Behavior.res +30 -0
- package/src/Customer/StateChangeSlice/ChangeAddress_Behavior.res.mjs +74 -0
- package/src/Customer/StateChangeSlice/ChangeEmail.res +20 -0
- package/src/Customer/StateChangeSlice/ChangeEmail.res.mjs +58 -0
- package/src/Customer/StateChangeSlice/ChangeEmail_Behavior.res +26 -0
- package/src/Customer/StateChangeSlice/ChangeEmail_Behavior.res.mjs +74 -0
- package/src/Customer/StateChangeSlice/DeactivateCustomer.res +17 -0
- package/src/Customer/StateChangeSlice/DeactivateCustomer.res.mjs +46 -0
- package/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.res +23 -0
- package/src/Customer/StateChangeSlice/DeactivateCustomer_Behavior.res.mjs +58 -0
- package/src/Customer/StateChangeSlice/RegisterCustomer.res +22 -0
- package/src/Customer/StateChangeSlice/RegisterCustomer.res.mjs +47 -0
- package/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.res +20 -0
- package/src/Customer/StateChangeSlice/RegisterCustomer_Behavior.res.mjs +44 -0
- package/src/Customer/StateViewSlice/Customers.res +18 -0
- package/src/Customer/StateViewSlice/Customers.res.mjs +69 -0
- package/src/Customer/StateViewSlice/Customers_Projection.res +13 -0
- package/src/Customer/StateViewSlice/Customers_Projection.res.mjs +62 -0
- package/src/Extension/Products_Extension.res +23 -0
- package/src/Extension/Products_Extension.res.mjs +43 -0
- package/src/ExtensionPoint/Orders_ExtensionPointMapping.res +33 -0
- package/src/ExtensionPoint/Orders_ExtensionPointMapping.res.mjs +82 -0
- package/src/Order/AutomationSlice/AutoShipOrder.res +19 -0
- package/src/Order/AutomationSlice/AutoShipOrder.res.mjs +42 -0
- package/src/Order/AutomationSlice/AutoShipOrder_Automation.res +36 -0
- package/src/Order/AutomationSlice/AutoShipOrder_Automation.res.mjs +101 -0
- package/src/Order/OutboundTranslationSlice/SendOrderConfirmation.res +19 -0
- package/src/Order/OutboundTranslationSlice/SendOrderConfirmation.res.mjs +42 -0
- package/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.res +24 -0
- package/src/Order/OutboundTranslationSlice/SendOrderConfirmation_Translation.res.mjs +46 -0
- package/src/Order/StateChangeSlice/CancelOrder.res +24 -0
- package/src/Order/StateChangeSlice/CancelOrder.res.mjs +60 -0
- package/src/Order/StateChangeSlice/CancelOrder_Behavior.res +26 -0
- package/src/Order/StateChangeSlice/CancelOrder_Behavior.res.mjs +81 -0
- package/src/Order/StateChangeSlice/PlaceOrder.res +33 -0
- package/src/Order/StateChangeSlice/PlaceOrder.res.mjs +63 -0
- package/src/Order/StateChangeSlice/PlaceOrder_Behavior.res +44 -0
- package/src/Order/StateChangeSlice/PlaceOrder_Behavior.res.mjs +70 -0
- package/src/Order/StateChangeSlice/ShipOrder.res +21 -0
- package/src/Order/StateChangeSlice/ShipOrder.res.mjs +56 -0
- package/src/Order/StateChangeSlice/ShipOrder_Behavior.res +26 -0
- package/src/Order/StateChangeSlice/ShipOrder_Behavior.res.mjs +73 -0
- package/src/Order/StateViewSlice/Orders.res +23 -0
- package/src/Order/StateViewSlice/Orders.res.mjs +81 -0
- package/src/Order/StateViewSlice/Orders_Projection.res +10 -0
- package/src/Order/StateViewSlice/Orders_Projection.res.mjs +52 -0
- package/src/Plugin.res +64 -0
- package/src/Plugin.res.mjs +346 -0
- package/src/Service/EmailService.res +3 -0
- package/src/Service/EmailService.res.mjs +11 -0
- package/src/plugin.json +1 -0
- package/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.res +27 -0
- package/tests/CatalogProduct/StateChangeSlice/SyncCatalogProduct_GWT.res.mjs +109 -0
- package/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.res +15 -0
- package/tests/CatalogProduct/StateViewSlice/AvailableProducts_GWT.res.mjs +93 -0
- package/tests/Customer/StateChangeSlice/ChangeAddress_GWT.res +27 -0
- package/tests/Customer/StateChangeSlice/ChangeAddress_GWT.res.mjs +102 -0
- package/tests/Customer/StateChangeSlice/ChangeEmail_GWT.res +27 -0
- package/tests/Customer/StateChangeSlice/ChangeEmail_GWT.res.mjs +102 -0
- package/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.res +21 -0
- package/tests/Customer/StateChangeSlice/DeactivateCustomer_GWT.res.mjs +84 -0
- package/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.res +21 -0
- package/tests/Customer/StateChangeSlice/RegisterCustomer_GWT.res.mjs +83 -0
- package/tests/Customer/StateViewSlice/Customers_GWT.res +45 -0
- package/tests/Customer/StateViewSlice/Customers_GWT.res.mjs +124 -0
- package/tests/Extension/Products_Extension_GWT.res +23 -0
- package/tests/Extension/Products_Extension_GWT.res.mjs +108 -0
- package/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res +23 -0
- package/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT.res.mjs +139 -0
- package/tests/Order/AutomationSlice/AutoShipOrder_GWT.res +55 -0
- package/tests/Order/AutomationSlice/AutoShipOrder_GWT.res.mjs +133 -0
- package/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.res +33 -0
- package/tests/Order/OutboundTranslationSlice/SendOrderConfirmation_GWT.res.mjs +101 -0
- package/tests/Order/StateChangeSlice/CancelOrder_GWT.res +27 -0
- package/tests/Order/StateChangeSlice/CancelOrder_GWT.res.mjs +107 -0
- package/tests/Order/StateChangeSlice/PlaceOrder_GWT.res +39 -0
- package/tests/Order/StateChangeSlice/PlaceOrder_GWT.res.mjs +139 -0
- package/tests/Order/StateChangeSlice/ShipOrder_GWT.res +27 -0
- package/tests/Order/StateChangeSlice/ShipOrder_GWT.res.mjs +91 -0
- package/tests/Order/StateViewSlice/Orders_GWT.res +36 -0
- package/tests/Order/StateViewSlice/Orders_GWT.res.mjs +114 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
@@reventless.behavior
|
|
2
|
+
|
|
3
|
+
type state = {exists: bool, deactivated: bool}
|
|
4
|
+
|
|
5
|
+
let initialState = {exists: false, deactivated: false}
|
|
6
|
+
|
|
7
|
+
let evolve = (state, event) =>
|
|
8
|
+
switch event {
|
|
9
|
+
| CustomerRegistered => {exists: true, deactivated: false}
|
|
10
|
+
| CustomerDeactivated => {...state, deactivated: true}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
let decide = (state, command) =>
|
|
14
|
+
switch command {
|
|
15
|
+
| DeactivateCustomer({customerId: theId}) =>
|
|
16
|
+
if !state.exists {
|
|
17
|
+
Error(CustomerNotFound)
|
|
18
|
+
} else if state.deactivated {
|
|
19
|
+
Ok([]) // idempotent — already deactivated
|
|
20
|
+
} else {
|
|
21
|
+
Ok([CustomerDeactivated({customerId: theId})])
|
|
22
|
+
}
|
|
23
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@@reventless.gwt
|
|
2
|
+
|
|
3
|
+
describe("DeactivateCustomer StateChangeSlice", () => {
|
|
4
|
+
test("non-existent customer returns CustomerNotFound", () =>
|
|
5
|
+
givenEvents([])
|
|
6
|
+
->whenCmd(DeactivateCustomer({customerId: "c1"}))
|
|
7
|
+
->thenError(CustomerNotFound)
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
test("existing customer produces CustomerDeactivated", () =>
|
|
11
|
+
givenEvents([CustomerRegistered])
|
|
12
|
+
->whenCmd(DeactivateCustomer({customerId: "c1"}))
|
|
13
|
+
->thenEvent(CustomerDeactivated({customerId: "c1"}))
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
test("already deactivated customer produces no events (idempotent)", () =>
|
|
17
|
+
givenEvents([CustomerRegistered, CustomerDeactivated])
|
|
18
|
+
->whenCmd(DeactivateCustomer({customerId: "c1"}))
|
|
19
|
+
->thenNoEvent
|
|
20
|
+
)
|
|
21
|
+
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
randjbuildsystem
|
|
2
|
+
AutoShipOrder
|
|
3
|
+
AutoShipOrder_Automation
|
|
4
|
+
AutoShipOrder_GWT
|
|
5
|
+
AvailableProducts
|
|
6
|
+
AvailableProducts_GWT
|
|
7
|
+
AvailableProducts_Projection
|
|
8
|
+
CancelOrder
|
|
9
|
+
CancelOrder_Behavior
|
|
10
|
+
CancelOrder_GWT
|
|
11
|
+
ChangeAddress
|
|
12
|
+
ChangeAddress_Behavior
|
|
13
|
+
ChangeAddress_GWT
|
|
14
|
+
ChangeEmail
|
|
15
|
+
ChangeEmail_Behavior
|
|
16
|
+
ChangeEmail_GWT
|
|
17
|
+
Customers
|
|
18
|
+
Customers_GWT
|
|
19
|
+
Customers_Projection
|
|
20
|
+
DeactivateCustomer
|
|
21
|
+
DeactivateCustomer_Behavior
|
|
22
|
+
DeactivateCustomer_GWT
|
|
23
|
+
EmailService
|
|
24
|
+
Orders
|
|
25
|
+
Orders_ExtensionPointMapping
|
|
26
|
+
Orders_ExtensionPointMapping_GWT
|
|
27
|
+
Orders_GWT
|
|
28
|
+
Orders_Projection
|
|
29
|
+
PlaceOrder
|
|
30
|
+
PlaceOrder_Behavior
|
|
31
|
+
PlaceOrder_GWT
|
|
32
|
+
Plugin
|
|
33
|
+
Products_Extension
|
|
34
|
+
Products_Extension_GWT
|
|
35
|
+
RegisterCustomer
|
|
36
|
+
RegisterCustomer_Behavior
|
|
37
|
+
RegisterCustomer_GWT
|
|
38
|
+
SendOrderConfirmation
|
|
39
|
+
SendOrderConfirmation_GWT
|
|
40
|
+
SendOrderConfirmation_Translation
|
|
41
|
+
ShipOrder
|
|
42
|
+
ShipOrder_Behavior
|
|
43
|
+
ShipOrder_GWT
|
|
44
|
+
SyncCatalogProduct
|
|
45
|
+
SyncCatalogProduct_Behavior
|
|
46
|
+
SyncCatalogProduct_GWT
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Orders StateViewSlice.
|
|
2
|
+
// Projects order events from the shared ordering event log into an Orders read model.
|
|
3
|
+
@@reventless.spec
|
|
4
|
+
|
|
5
|
+
@schema
|
|
6
|
+
type status =
|
|
7
|
+
| Placed
|
|
8
|
+
| Shipped
|
|
9
|
+
| Cancelled
|
|
10
|
+
|
|
11
|
+
@schema
|
|
12
|
+
type state = {
|
|
13
|
+
orderId: string,
|
|
14
|
+
customerId: string,
|
|
15
|
+
productIds: array<string>,
|
|
16
|
+
@status status: status,
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@schema
|
|
20
|
+
type consumedEvent =
|
|
21
|
+
| OrderPlaced({orderId: string, customerId: string, productIds: array<string>})
|
|
22
|
+
| OrderShipped({orderId: string})
|
|
23
|
+
| OrderCancelled({orderId: string})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Maps internal Ordering events to the stable Orders_ExtensionPoint public API.
|
|
2
|
+
// Decomposes batch OrderPlaced / OrderCancelled events into per-product EP events.
|
|
3
|
+
@@reventless.spec
|
|
4
|
+
|
|
5
|
+
module ExtensionPoint = OrderingSpec.Orders_ExtensionPoint
|
|
6
|
+
|
|
7
|
+
// DCB adapter: defines the event type used for outgoing event mapping.
|
|
8
|
+
// Only the events relevant to the extension point are included.
|
|
9
|
+
module Delegate = {
|
|
10
|
+
let name = "OrderingDcbEventLog"
|
|
11
|
+
@schema
|
|
12
|
+
type event =
|
|
13
|
+
| OrderPlaced({orderId: string, customerId: string, productIds: array<string>})
|
|
14
|
+
| OrderCancelled({orderId: string, productIds: array<string>})
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
let mapIncomingCommand = (_id, _command, _meta) => []
|
|
18
|
+
|
|
19
|
+
let mapOutgoingEvent = Some((_id, event, _meta, _queryEngine) =>
|
|
20
|
+
switch event {
|
|
21
|
+
| Delegate.OrderPlaced({orderId, customerId, productIds}) =>
|
|
22
|
+
productIds->Array.map(productId =>
|
|
23
|
+
PublishEvent(
|
|
24
|
+
productId,
|
|
25
|
+
OrderingSpec.Orders_ExtensionPoint.ItemOrdered({productId, orderId, customerId}),
|
|
26
|
+
)
|
|
27
|
+
)
|
|
28
|
+
| Delegate.OrderCancelled({orderId, productIds}) =>
|
|
29
|
+
productIds->Array.map(productId =>
|
|
30
|
+
PublishEvent(productId, OrderingSpec.Orders_ExtensionPoint.ItemOrderCancelled({productId, orderId}))
|
|
31
|
+
)
|
|
32
|
+
}
|
|
33
|
+
)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Boundary GWT for the Orders extension point: batch order events decompose
|
|
2
|
+
// into one public per-product event each (one-to-many fan-out).
|
|
3
|
+
@@reventless.gwt
|
|
4
|
+
|
|
5
|
+
describe("Orders ExtensionPoint mapping — per-product fan-out", () => {
|
|
6
|
+
test("OrderPlaced fans out to one ItemOrdered per product", () =>
|
|
7
|
+
whenDelegateEvent(
|
|
8
|
+
Delegate.OrderPlaced({orderId: "o1", customerId: "c1", productIds: ["p1", "p2"]}),
|
|
9
|
+
)->thenPublishesEvents([
|
|
10
|
+
("p1", ExtensionPoint.ItemOrdered({productId: "p1", orderId: "o1", customerId: "c1"})),
|
|
11
|
+
("p2", ExtensionPoint.ItemOrdered({productId: "p2", orderId: "o1", customerId: "c1"})),
|
|
12
|
+
])
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
test("OrderCancelled fans out to one ItemOrderCancelled per product", () =>
|
|
16
|
+
whenDelegateEvent(
|
|
17
|
+
Delegate.OrderCancelled({orderId: "o1", productIds: ["p1", "p2"]}),
|
|
18
|
+
)->thenPublishesEvents([
|
|
19
|
+
("p1", ExtensionPoint.ItemOrderCancelled({productId: "p1", orderId: "o1"})),
|
|
20
|
+
("p2", ExtensionPoint.ItemOrderCancelled({productId: "p2", orderId: "o1"})),
|
|
21
|
+
])
|
|
22
|
+
)
|
|
23
|
+
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
@@reventless.gwt
|
|
2
|
+
|
|
3
|
+
describe("Orders StateViewSlice", () => {
|
|
4
|
+
test("OrderPlaced creates a row with status Placed", () =>
|
|
5
|
+
givenEvents([])
|
|
6
|
+
->whenEvent(
|
|
7
|
+
OrderPlaced({orderId: "o1", customerId: "c1", productIds: ["p1", "p2"]}),
|
|
8
|
+
)
|
|
9
|
+
->thenStateWithId(
|
|
10
|
+
"o1",
|
|
11
|
+
{orderId: "o1", customerId: "c1", productIds: ["p1", "p2"], status: Placed},
|
|
12
|
+
)
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
test("OrderShipped updates status to Shipped", () =>
|
|
16
|
+
givenEvents([
|
|
17
|
+
OrderPlaced({orderId: "o1", customerId: "c1", productIds: ["p1"]}),
|
|
18
|
+
])
|
|
19
|
+
->whenEvent(OrderShipped({orderId: "o1"}))
|
|
20
|
+
->thenStateWithId(
|
|
21
|
+
"o1",
|
|
22
|
+
{orderId: "o1", customerId: "c1", productIds: ["p1"], status: Shipped},
|
|
23
|
+
)
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
test("OrderCancelled updates status to Cancelled", () =>
|
|
27
|
+
givenEvents([
|
|
28
|
+
OrderPlaced({orderId: "o1", customerId: "c1", productIds: ["p1"]}),
|
|
29
|
+
])
|
|
30
|
+
->whenEvent(OrderCancelled({orderId: "o1"}))
|
|
31
|
+
->thenStateWithId(
|
|
32
|
+
"o1",
|
|
33
|
+
{orderId: "o1", customerId: "c1", productIds: ["p1"], status: Cancelled},
|
|
34
|
+
)
|
|
35
|
+
)
|
|
36
|
+
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@@reventless.projection
|
|
2
|
+
|
|
3
|
+
let project = event =>
|
|
4
|
+
switch event {
|
|
5
|
+
| OrderPlaced({orderId, customerId, productIds}) => [
|
|
6
|
+
Set(orderId, {orderId, customerId, productIds, status: Placed}),
|
|
7
|
+
]
|
|
8
|
+
| OrderShipped({orderId}) => [Update(orderId, state => {...state, status: Shipped})]
|
|
9
|
+
| OrderCancelled({orderId}) => [Update(orderId, state => {...state, status: Cancelled})]
|
|
10
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// PlaceOrder StateChangeSlice.
|
|
2
|
+
// Handles the PlaceOrder command; rejects duplicate placement and validates
|
|
3
|
+
// that all referenced products have been synced to the ordering event log.
|
|
4
|
+
//
|
|
5
|
+
// The tagged array `productIds: array<string>` triggers automatic multi-clause
|
|
6
|
+
// query construction: one OR clause per orderId and per productId element —
|
|
7
|
+
// fetching both Order and CatalogProduct events. The plural field name is
|
|
8
|
+
// auto-singularised by the PPX so each element is stored under tag key
|
|
9
|
+
// `productId`, sharing the key with single-value `productId: string` producers.
|
|
10
|
+
|
|
11
|
+
@@reventless.spec
|
|
12
|
+
|
|
13
|
+
// `OrderPlaced` carries `orderId` (not partial) so the decision model can
|
|
14
|
+
// discriminate placements across the multi-clause query. Without it,
|
|
15
|
+
// OrderPlaced events from sibling orders that share a `productId` tag would
|
|
16
|
+
// leak in and falsely set "this order exists".
|
|
17
|
+
@schema
|
|
18
|
+
type consumedEvent =
|
|
19
|
+
| OrderPlaced({orderId: string})
|
|
20
|
+
| CatalogProductSynced({productId: string})
|
|
21
|
+
|
|
22
|
+
@schema
|
|
23
|
+
type command =
|
|
24
|
+
PlaceOrder({@partitionTag orderId: string, customerId: string, @ref("AvailableProducts") productIds: array<string>})
|
|
25
|
+
|
|
26
|
+
@schema
|
|
27
|
+
type error =
|
|
28
|
+
| OrderAlreadyPlaced
|
|
29
|
+
| ProductsNotAvailable({missing: array<string>})
|
|
30
|
+
|
|
31
|
+
@schema
|
|
32
|
+
type event =
|
|
33
|
+
OrderPlaced({@partitionTag orderId: string, customerId: string, productIds: array<string>})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
@@reventless.behavior
|
|
2
|
+
|
|
3
|
+
// `placedOrderIds` tracks every OrderPlaced the query returned (regardless of
|
|
4
|
+
// orderId — the multi-clause query also fetches by productId tags), so the
|
|
5
|
+
// `decide` step can ask "is THIS particular orderId already placed?" without
|
|
6
|
+
// being confused by OrderPlaced events from sibling orders sharing a product.
|
|
7
|
+
//
|
|
8
|
+
// Stored as immutable arrays (rather than `Set.t`) so each fold yields a
|
|
9
|
+
// fresh state — `evolve` returns a new record instead of mutating a shared
|
|
10
|
+
// one. This keeps successive `decide` calls (and unit tests) hermetic.
|
|
11
|
+
type state = {placedOrderIds: array<string>, availableProductIds: array<string>}
|
|
12
|
+
|
|
13
|
+
let initialState = {placedOrderIds: [], availableProductIds: []}
|
|
14
|
+
|
|
15
|
+
let evolve = (state, event: consumedEvent) =>
|
|
16
|
+
switch event {
|
|
17
|
+
| OrderPlaced({orderId}) => {
|
|
18
|
+
...state,
|
|
19
|
+
placedOrderIds: state.placedOrderIds->Array.includes(orderId)
|
|
20
|
+
? state.placedOrderIds
|
|
21
|
+
: Array.concat(state.placedOrderIds, [orderId]),
|
|
22
|
+
}
|
|
23
|
+
| CatalogProductSynced({productId}) => {
|
|
24
|
+
...state,
|
|
25
|
+
availableProductIds: state.availableProductIds->Array.includes(productId)
|
|
26
|
+
? state.availableProductIds
|
|
27
|
+
: Array.concat(state.availableProductIds, [productId]),
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
let decide = (state, command) =>
|
|
32
|
+
switch command {
|
|
33
|
+
| PlaceOrder({orderId, customerId, productIds}) =>
|
|
34
|
+
if state.placedOrderIds->Array.includes(orderId) {
|
|
35
|
+
Error(OrderAlreadyPlaced)
|
|
36
|
+
} else {
|
|
37
|
+
let missing = productIds->Array.filter(pid => !(state.availableProductIds->Array.includes(pid)))
|
|
38
|
+
if missing->Array.length > 0 {
|
|
39
|
+
Error(ProductsNotAvailable({missing: missing}))
|
|
40
|
+
} else {
|
|
41
|
+
Ok([OrderPlaced({orderId, customerId, productIds})])
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@@reventless.gwt
|
|
2
|
+
|
|
3
|
+
describe("PlaceOrder StateChangeSlice", () => {
|
|
4
|
+
test("requires referenced products to be synced first", () =>
|
|
5
|
+
givenEvents([])
|
|
6
|
+
->whenCmd(PlaceOrder({orderId: "o1", customerId: "c1", productIds: ["p1"]}))
|
|
7
|
+
->thenError(ProductsNotAvailable({missing: ["p1"]}))
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
test("placement succeeds when products are available", () =>
|
|
11
|
+
givenEvents([CatalogProductSynced({productId: "p1"})])
|
|
12
|
+
->whenCmd(PlaceOrder({orderId: "o1", customerId: "c1", productIds: ["p1"]}))
|
|
13
|
+
->thenEvent(OrderPlaced({orderId: "o1", customerId: "c1", productIds: ["p1"]}))
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
test("partial product availability returns ProductsNotAvailable with missing list", () =>
|
|
17
|
+
givenEvents([CatalogProductSynced({productId: "p1"})])
|
|
18
|
+
->whenCmd(PlaceOrder({orderId: "o1", customerId: "c1", productIds: ["p1", "p2"]}))
|
|
19
|
+
->thenError(ProductsNotAvailable({missing: ["p2"]}))
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
test("re-placing the same orderId returns OrderAlreadyPlaced", () =>
|
|
23
|
+
givenEvents([
|
|
24
|
+
CatalogProductSynced({productId: "p1"}),
|
|
25
|
+
OrderPlaced({orderId: "o1"}),
|
|
26
|
+
])
|
|
27
|
+
->whenCmd(PlaceOrder({orderId: "o1", customerId: "c1", productIds: ["p1"]}))
|
|
28
|
+
->thenError(OrderAlreadyPlaced)
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
test("a sibling OrderPlaced for a different orderId does not block placement", () =>
|
|
32
|
+
givenEvents([
|
|
33
|
+
CatalogProductSynced({productId: "p1"}),
|
|
34
|
+
OrderPlaced({orderId: "o2"}),
|
|
35
|
+
])
|
|
36
|
+
->whenCmd(PlaceOrder({orderId: "o1", customerId: "c1", productIds: ["p1"]}))
|
|
37
|
+
->thenEvent(OrderPlaced({orderId: "o1", customerId: "c1", productIds: ["p1"]}))
|
|
38
|
+
)
|
|
39
|
+
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// AUTO-GENERATED — do not edit. Run `npm run generate` to update.
|
|
2
|
+
|
|
3
|
+
@val external uiBundleUrl: option<string> = "process.env.ORDERING_UI_BUNDLE_URL"
|
|
4
|
+
|
|
5
|
+
module Make = (Platform: ReventlessInfra.Platform.T) => {
|
|
6
|
+
// StateChangeSlices
|
|
7
|
+
module CancelOrderSlice = Platform.StateChangeSlice.Make(CancelOrder, CancelOrder_Behavior)
|
|
8
|
+
module ChangeAddressSlice = Platform.StateChangeSlice.Make(ChangeAddress, ChangeAddress_Behavior)
|
|
9
|
+
module ChangeEmailSlice = Platform.StateChangeSlice.Make(ChangeEmail, ChangeEmail_Behavior)
|
|
10
|
+
module DeactivateCustomerSlice = Platform.StateChangeSlice.Make(DeactivateCustomer, DeactivateCustomer_Behavior)
|
|
11
|
+
module PlaceOrderSlice = Platform.StateChangeSlice.Make(PlaceOrder, PlaceOrder_Behavior)
|
|
12
|
+
module RegisterCustomerSlice = Platform.StateChangeSlice.Make(RegisterCustomer, RegisterCustomer_Behavior)
|
|
13
|
+
module ShipOrderSlice = Platform.StateChangeSlice.Make(ShipOrder, ShipOrder_Behavior)
|
|
14
|
+
module SyncCatalogProductSlice = Platform.StateChangeSlice.Make(SyncCatalogProduct, SyncCatalogProduct_Behavior)
|
|
15
|
+
|
|
16
|
+
// StateViewSlices
|
|
17
|
+
module AvailableProductsSlice = Platform.StateViewSlice.Make(AvailableProducts, AvailableProducts_Projection)
|
|
18
|
+
module CustomersSlice = Platform.StateViewSlice.Make(Customers, Customers_Projection)
|
|
19
|
+
module OrdersSlice = Platform.StateViewSlice.Make(Orders, Orders_Projection)
|
|
20
|
+
|
|
21
|
+
// AutomationSlices
|
|
22
|
+
module AutoShipOrderSlice = Platform.AutomationSlice.Make(AutoShipOrder, AutoShipOrder_Automation)
|
|
23
|
+
|
|
24
|
+
// OutboundTranslationSlices
|
|
25
|
+
module SendOrderConfirmationSlice = Platform.OutboundTranslationSlice.Make(SendOrderConfirmation, SendOrderConfirmation_Translation)
|
|
26
|
+
|
|
27
|
+
// ExtensionPoints
|
|
28
|
+
module Orders_ExtensionPoint = Platform.ExtensionPoint.Make(Orders_ExtensionPointMapping)
|
|
29
|
+
|
|
30
|
+
// Extensions
|
|
31
|
+
module Products_Extension = Platform.Extension.Make(Products_Extension.Mapping)
|
|
32
|
+
|
|
33
|
+
let pluginStructure = Platform.Plugin.makePluginDefinition(
|
|
34
|
+
~name="Ordering",
|
|
35
|
+
~stateViewSlices=[module(AvailableProductsSlice), module(CustomersSlice), module(OrdersSlice)],
|
|
36
|
+
~stateChangeSlices=[module(CancelOrderSlice), module(ChangeAddressSlice), module(ChangeEmailSlice), module(DeactivateCustomerSlice), module(PlaceOrderSlice), module(RegisterCustomerSlice), module(ShipOrderSlice), module(SyncCatalogProductSlice)],
|
|
37
|
+
~automationSlices=[module(AutoShipOrderSlice)],
|
|
38
|
+
~outboundTranslationSlices=[module(SendOrderConfirmationSlice)],
|
|
39
|
+
~extensions=[module(Products_Extension)],
|
|
40
|
+
~extensionPoints=[module(Orders_ExtensionPointMapping)],
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
let make = () =>
|
|
44
|
+
Platform.Plugin.make(
|
|
45
|
+
~name="Ordering",
|
|
46
|
+
~heartbeatInterval=5,
|
|
47
|
+
~extensionPoints=[module(Orders_ExtensionPoint)],
|
|
48
|
+
~extensions=[module(Products_Extension)],
|
|
49
|
+
~stateChangeSlices=[module(CancelOrderSlice), module(ChangeAddressSlice), module(ChangeEmailSlice), module(DeactivateCustomerSlice), module(PlaceOrderSlice), module(RegisterCustomerSlice), module(ShipOrderSlice), module(SyncCatalogProductSlice)],
|
|
50
|
+
~stateViewSlices=[module(AvailableProductsSlice), module(CustomersSlice), module(OrdersSlice)],
|
|
51
|
+
~automationSlices=[module(AutoShipOrderSlice)],
|
|
52
|
+
~outboundTranslationSlices=[module(SendOrderConfirmationSlice)],
|
|
53
|
+
~pluginStructure=pluginStructure,
|
|
54
|
+
~uiFragments=?uiBundleUrl->Option.map(url =>
|
|
55
|
+
Platform.Plugin.makeAutoUIManifest(
|
|
56
|
+
~remoteEntryUrl=url,
|
|
57
|
+
~name="Ordering",
|
|
58
|
+
~pluginStructure,
|
|
59
|
+
~readModelPositions=["platform-summary"],
|
|
60
|
+
~aggregatePositions=["resource-detail"],
|
|
61
|
+
)
|
|
62
|
+
),
|
|
63
|
+
)
|
|
64
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Ordering's extension subscribing to Catalog's Products_ExtensionPoint.
|
|
2
|
+
// Routes ProductBecameAvailable / ProductPriceChanged events to SyncCatalogProduct commands.
|
|
3
|
+
|
|
4
|
+
@@reventless.extension
|
|
5
|
+
|
|
6
|
+
module Mapping = {
|
|
7
|
+
module ExtensionPoint = CatalogSpec.Products_ExtensionPoint
|
|
8
|
+
module Delegate = SyncCatalogProduct
|
|
9
|
+
|
|
10
|
+
open ExtensionPoint
|
|
11
|
+
open SyncCatalogProduct
|
|
12
|
+
let mapIncomingEvent = (_id, event, _meta, _pluginDef, _queryEngine) =>
|
|
13
|
+
switch event {
|
|
14
|
+
| ProductBecameAvailable({productId, name, price}) => [
|
|
15
|
+
PublishStateChangeSliceCommand(SyncNewProduct({productId, name, price})),
|
|
16
|
+
]
|
|
17
|
+
| ProductPriceChanged({productId, price}) => [
|
|
18
|
+
PublishStateChangeSliceCommand(ChangeSyncedPrice({productId, price})),
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
let mapOutgoingEvent = None
|
|
23
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Boundary GWT for Ordering's Products extension: public Catalog events become
|
|
2
|
+
// SyncCatalogProduct commands on Ordering's local shadow slice.
|
|
3
|
+
@@reventless.gwt
|
|
4
|
+
|
|
5
|
+
// `Mapping` is brought into scope by the PPX `open Products_Extension`; opening
|
|
6
|
+
// it surfaces the extension point's events and the delegate's commands.
|
|
7
|
+
open Mapping
|
|
8
|
+
|
|
9
|
+
describe("Products Extension delegate", () => {
|
|
10
|
+
test("ProductBecameAvailable issues SyncNewProduct", () =>
|
|
11
|
+
whenIncomingEvent(
|
|
12
|
+
ExtensionPoint.ProductBecameAvailable({productId: "p1", name: "Book", price: 9.99}),
|
|
13
|
+
)->thenPublishesCommand(
|
|
14
|
+
Delegate.SyncNewProduct({productId: "p1", name: "Book", price: 9.99}),
|
|
15
|
+
)
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
test("ProductPriceChanged issues ChangeSyncedPrice", () =>
|
|
19
|
+
whenIncomingEvent(
|
|
20
|
+
ExtensionPoint.ProductPriceChanged({productId: "p1", price: 7.5}),
|
|
21
|
+
)->thenPublishesCommand(Delegate.ChangeSyncedPrice({productId: "p1", price: 7.5}))
|
|
22
|
+
)
|
|
23
|
+
})
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|