CartService
constructor
Parameters
__namedParameters
InjectedDependenciesRequiredProperties
manager_
EntityManagerRequiredtransactionManager_
undefined | EntityManagerRequired__container__
anyRequiredEvents
objectRequiredEvents.CUSTOMER_UPDATED
stringRequiredDefault: "cart.customer_updated"
Events.CREATED
stringRequiredDefault: "cart.created"
Events.UPDATED
stringRequiredDefault: "cart.updated"
featureFlagRouter_
FlagRouterRequiredremoteLink_
RemoteLinkRequired__configModule__
Record<string, unknown>__moduleDeclaration__
Record<string, unknown>Accessors
activeManager_
Returns
EntityManager
EntityManagerRequiredMethods
withTransaction
Parameters
transactionManager
EntityManagerReturns
this
thisRequiredshouldRetryTransaction_
Parameters
err
Record<string, unknown> | objectRequiredReturns
boolean
booleanRequiredatomicPhase_
Wraps some work within a transactional block. If the service already has a transaction manager attached this will be reused, otherwise a new transaction manager is created.
Type Parameters
TResult
objectRequiredTError
objectRequiredParameters
work
(transactionManager: EntityManager) => Promise<TResult>RequiredisolationOrErrorHandler
IsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail
(error: TError) => Promise<void | TResult>Returns
Promise
Promise<TResult>Requiredlist
Parameters
selector
FilterableCartPropsRequiredDefault: {}
Returns
retrieve
Gets a cart by id.
Parameters
cartId
stringRequiredDefault: {}
totalsConfig
TotalsConfigRequiredDefault: {}
Returns
retrieveLegacy
Parameters
cartId
stringRequiredDefault: {}
totalsConfig
TotalsConfigRequiredDefault: {}
Returns
Deprecated
retrieveWithTotals
Parameters
cartId
stringRequiredDefault: {}
totalsConfig
TotalsConfigRequiredDefault: {}
Returns
create
Creates a cart.
Parameters
data
CartCreatePropsRequiredReturns
getValidatedSalesChannel
Parameters
salesChannelId
stringReturns
removeLineItem
Removes a line item from the cart.
Parameters
cartId
stringRequiredlineItemId
string | string[]RequiredReturns
Promise
Promise<void>RequiredvalidateLineItemShipping_
Checks if a given line item has a shipping method that can fulfill it. Returns true if all products in the cart can be fulfilled with the current shipping methods.
Parameters
lineItemShippingProfiledId
stringRequiredReturns
boolean
booleanRequiredvalidateLineItem
Check if line item's variant belongs to the cart's sales channel.
Parameters
sales_channel_id
objectRequiredsales_channel_id.sales_channel_id
null | stringRequiredlineItem
LineItemValidateDataRequiredReturns
Promise
Promise<boolean>RequiredaddLineItem
Adds a line item to the cart.
Parameters
cartId
stringRequiredconfig
objectRequiredconfig.validateSalesChannels
booleanRequiredDefault: true
Returns
Promise
Promise<void>RequiredDeprecated
Use addOrUpdateLineItems instead.
addOrUpdateLineItems
Adds or update one or multiple line items to the cart. It also update all existing items in the cart to have has_shipping to false. Finally, the adjustments will be updated.
Parameters
cartId
stringRequiredconfig
objectRequiredconfig.validateSalesChannels
booleanRequiredDefault: true
Returns
Promise
Promise<void>RequiredupdateLineItem
Updates a cart's existing line item.
Parameters
cartId
stringRequiredlineItemId
stringRequiredupdate
LineItemUpdateRequiredReturns
adjustFreeShipping_
Ensures shipping total on cart is correct in regards to a potential free shipping discount If a free shipping is present, we set shipping methods price to 0 if a free shipping was present, we set shipping methods to original amount
Parameters
shouldAdd
booleanRequiredReturns
Promise
Promise<void>Requiredupdate
Parameters
data
CartUpdatePropsRequiredReturns
onSalesChannelChange
Remove the cart line item that does not belongs to the newly assigned sales channel
Parameters
newSalesChannelId
stringRequiredReturns
Promise
Promise<void>RequiredupdateCustomerId_
Sets the customer id of a cart
Parameters
customerId
stringRequiredReturns
Promise
Promise<void>RequiredcreateOrFetchGuestCustomerFromEmail_
Creates or fetches a user based on an email.
Parameters
email
stringRequired