more cart

This commit is contained in:
2026-07-01 10:40:28 +02:00
parent 75db64ce75
commit b1e99891e9
30 changed files with 1058 additions and 93 deletions
+15 -5
View File
@@ -29,6 +29,15 @@ type LinkedOrder struct {
Status string `json:"status,omitempty"`
}
// EmailPreferences controls which transactional emails a customer receives.
// All fields default to true (opted in) when nil/omitted.
type EmailPreferences struct {
// OrderEmails sends order confirmations, shipping updates, receipts.
OrderEmails *bool `json:"orderEmails,omitempty"`
// MarketingEmails sends promotional offers, newsletters, product recommendations.
MarketingEmails *bool `json:"marketingEmails,omitempty"`
}
// StoredAddress is a saved address in the user's address book.
type StoredAddress struct {
Id uint32 `json:"id"`
@@ -60,11 +69,12 @@ type ProfileGrain struct {
Language string `json:"language,omitempty"`
Currency string `json:"currency,omitempty"`
AvatarUrl string `json:"avatarUrl,omitempty"`
Carts []LinkedCart `json:"carts,omitempty"`
Checkouts []LinkedCheckout `json:"checkouts,omitempty"`
Orders []LinkedOrder `json:"orders,omitempty"`
Addresses []StoredAddress `json:"addresses,omitempty"`
AvatarUrl string `json:"avatarUrl,omitempty"`
Carts []LinkedCart `json:"carts,omitempty"`
Checkouts []LinkedCheckout `json:"checkouts,omitempty"`
Orders []LinkedOrder `json:"orders,omitempty"`
Addresses []StoredAddress `json:"addresses,omitempty"`
EmailPreferences *EmailPreferences `json:"emailPreferences,omitempty"`
}
// NewProfileGrain returns an empty profile grain for id.