From 94a04a154c262acb7ae6aeef52669465fd3be915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mats=20T=C3=B6rnberg?= Date: Wed, 3 Dec 2025 19:17:27 +0100 Subject: [PATCH] update --- pkg/checkout/checkout-grain.go | 9 ++++++--- pkg/checkout/mutation_initialize_checkout.go | 12 +++++++----- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/pkg/checkout/checkout-grain.go b/pkg/checkout/checkout-grain.go index ad57a2c..2e1f40d 100644 --- a/pkg/checkout/checkout-grain.go +++ b/pkg/checkout/checkout-grain.go @@ -100,7 +100,7 @@ type CheckoutGrain struct { } func NewCheckoutGrain(id uint64, cartId cart.CartId, cartVersion uint64, ts time.Time, cartState *cart.CartGrain) *CheckoutGrain { - return &CheckoutGrain{ + r := &CheckoutGrain{ lastDeliveryId: 0, lastGiftcardId: 0, lastAccess: ts, @@ -110,9 +110,12 @@ func NewCheckoutGrain(id uint64, cartId cart.CartId, cartVersion uint64, ts time CartVersion: cartVersion, Deliveries: []*CheckoutDelivery{}, Payments: []*Payment{}, - CartState: cartState, - CartTotalPrice: cartState.TotalPrice, } + if cartState != nil { + r.CartState = cartState + r.CartTotalPrice = cartState.TotalPrice + } + return r } func (c *CheckoutGrain) GetId() uint64 { diff --git a/pkg/checkout/mutation_initialize_checkout.go b/pkg/checkout/mutation_initialize_checkout.go index 9e033ca..ec58f94 100644 --- a/pkg/checkout/mutation_initialize_checkout.go +++ b/pkg/checkout/mutation_initialize_checkout.go @@ -28,17 +28,19 @@ func HandleInitializeCheckout(g *CheckoutGrain, m *messages.InitializeCheckout) if m == nil { return fmt.Errorf("InitializeCheckout: nil payload") } - if m.OrderId == "" { - return fmt.Errorf("InitializeCheckout: missing orderId") - } - if m.CartState != nil { + // if g.OrderId == "" { + // return fmt.Errorf("InitializeCheckout: missing orderId") + // } + if g.CartState != nil { return fmt.Errorf("InitializeCheckout: checkout already initialized") } err := json.Unmarshal(m.CartState.Value, &g.CartState) if err != nil { - return fmt.Errorf("InitializeCheckout: failed to unmarshal cart state: %w", err) + return err } + g.CartTotalPrice = g.CartState.TotalPrice + return nil }