List of items noted while developing the proof of concept that need to be addressed upstream.
The checkout validation concept is not robust enough. There will also be custom validators in this module which need to be added to the checkout validation patch.
Order refresh will save order items, always. It is impossible to refresh an order without causing the order items to be saved.
There is no way to easily validate a coupon code. Without creating a separate endpoint, coupons are removed in the refresh process and have no way of passing to the checkout validation system.
Find a way to have PriceItemNormalizer in core, such as added "formatted" as a computed field.
There is no way to handle shipping, since Shipping expected order item's to have IDs.
Order::getItems uses ::referencedEntities() and returns a null target_id and causes the order's ::recalculateTotalPrice to break. This bug is caused by the fact order refresh saves the order items, otherwise we have to enforce as new.
::selectStore should be in a trait, we use this in the default add to cart and Cart API.
CheckoutFinalizeResource goes crazy as references are saved. Saving an entity does not cause references to it to bubble from the computed entity property into target_id.
List of items noted while developing the proof of concept that need to be addressed upstream.
target_id
and causes the order's ::recalculateTotalPrice to break. This bug is caused by the fact order refresh saves the order items, otherwise we have to enforce as new.entity
property intotarget_id
.