From ac8b870eb51a1446bb2330cf2fc220ddb2938464 Mon Sep 17 00:00:00 2001 From: matst80 Date: Wed, 19 Nov 2025 07:46:07 +0100 Subject: [PATCH] update more --- pkg/cart/cart-grain.go | 1 + pkg/cart/cart-mutation-helper.go | 3 +++ pkg/cart/mutation_inventory_reserved.go | 8 ++++++++ 3 files changed, 12 insertions(+) create mode 100644 pkg/cart/mutation_inventory_reserved.go diff --git a/pkg/cart/cart-grain.go b/pkg/cart/cart-grain.go index 9ed8775..3726187 100644 --- a/pkg/cart/cart-grain.go +++ b/pkg/cart/cart-grain.go @@ -81,6 +81,7 @@ type CartGrain struct { lastAccess time.Time lastChange time.Time // unix seconds of last successful mutation (replay sets from event ts) userId string + InventoryReserved bool `json:"inventoryReserved"` Id CartId `json:"id"` Items []*CartItem `json:"items"` TotalPrice *Price `json:"totalPrice"` diff --git a/pkg/cart/cart-mutation-helper.go b/pkg/cart/cart-mutation-helper.go index 70a973d..8fcdc8e 100644 --- a/pkg/cart/cart-mutation-helper.go +++ b/pkg/cart/cart-mutation-helper.go @@ -45,6 +45,9 @@ func NewCartMultationRegistry() actor.MutationRegistry { actor.NewMutation(UpsertSubscriptionDetails, func() *messages.UpsertSubscriptionDetails { return &messages.UpsertSubscriptionDetails{} }), + actor.NewMutation(InventoryReserved, func() *messages.InventoryReserved { + return &messages.InventoryReserved{} + }), actor.NewMutation(PreConditionFailed, func() *messages.PreConditionFailed { return &messages.PreConditionFailed{} }), diff --git a/pkg/cart/mutation_inventory_reserved.go b/pkg/cart/mutation_inventory_reserved.go new file mode 100644 index 0000000..ac78201 --- /dev/null +++ b/pkg/cart/mutation_inventory_reserved.go @@ -0,0 +1,8 @@ +package cart + +import "git.tornberg.me/go-cart-actor/pkg/messages" + +func InventoryReserved(g *CartGrain, m *messages.InventoryReserved) error { + g.InventoryReserved = true + return nil +}