package cart import ( "errors" "github.com/google/uuid" messages "git.tornberg.me/go-cart-actor/pkg/messages" ) func CreateCheckoutOrder(grain *CartGrain, req *messages.CreateCheckoutOrder) error { if len(grain.Items) == 0 { return errors.New("cannot checkout empty cart") } if req.Terms != "accepted" { return errors.New("terms must be accepted") } // Validate other fields as needed grain.CheckoutOrderId = uuid.New().String() grain.CheckoutStatus = "pending" grain.CheckoutCountry = req.Country return nil }