* Fix issue on fixed total amount discount when using includes tax (#3472) The calculation of the fixed discount amount breaks when having includes_tax setting active, due to the line item totals are incorrect and returning everything as 0, thus the totalItemPercentage will be Infinitiy due to the division by a subtotal of 0 * chore: Add missing changeset for @medusajs/medusa * feat(medusa): Improve performance of Products domain (#3417) * feat(medusa): Improve product update performances * fix tests and update * update mock repo * improve repo * cleanup * fix * cleanup + bulk emit + unit test fix * improvements * improve * fix unit tests * fix export * fix product update handler * enhance mock repo * fix import integration * fix end point tests * revert mock repo product variant * fix unit * cleanup * cleanup * address feedback * fix quotes in tests * address feedback * Create new-tips-mate.md * use types * chore: Remove integration-tests from changeset * chore(release): v1.7.14 * chore(docs): Generated Docs Announcement Bar (automated) (#3489) Co-authored-by: olivermrbl <olivermrbl@users.noreply.github.com> * fix(medusa): EventBusService.emit using Redis mock (#3491) * Fix eventBusService.emit using redis mock * revert gitignore * enqueuer * unit test add redis_url * fix test * chore(docs): Generated Services Reference (automated) (#3490) Co-authored-by: olivermrbl <olivermrbl@users.noreply.github.com> * docs: publish restructure (#3496) * docs: added features and guides overview page * added image * added version 2 * added version 3 * added version 4 * docs: implemented new color scheme * docs: redesigned sidebar (#3193) * docs: redesigned navbar for restructure (#3199) * docs: redesigned footer (#3209) * docs: redesigned cards (#3230) * docs: redesigned admonitions (#3231) * docs: redesign announcement bar (#3236) * docs: redesigned large cards (#3239) * docs: redesigned code blocks (#3253) * docs: redesigned search modal and page (#3264) * docs: redesigned doc footer (#3268) * docs: added new sidebars + refactored css and assets (#3279) * docs: redesigned api reference sidebar * docs: refactored css * docs: added code tabs transition * docs: added new sidebars * removed unused assets * remove unusued assets * Fix deploy errors * fix incorrect link * docs: fixed code responsivity + missing icons (#3283) * docs: changed icons (#3296) * docs: design fixes to the sidebar (#3297) * redesign fixes * docs: small design fixes * docs: several design fixes after restructure (#3299) * docs: bordered icon fixes * docs: desgin fixes * fixes to code blocks and sidebar scroll * design adjustments * docs: restructured homepage (#3305) * docs: restructured homepage * design fixes * fixed core concepts icon * docs: added core concepts page (#3318) * docs: restructured homepage * design fixes * docs: added core concepts page * changed text of different components * docs: added architecture link * added missing prop for user guide * docs: added regions overview page (#3327) * docs: added regions overview * moved region pages to new structure * docs: fixed description of regions architecture page * small changes * small fix * docs: added customers overview page (#3331) * docs: added regions overview * moved region pages to new structure * docs: fixed description of regions architecture page * small changes * small fix * docs: added customers overview page * fix link * resolve link issues * docs: updated regions architecture image * docs: second-iteration fixes (#3347) * docs: redesigned document * design fixes * docs: added products overview page (#3354) * docs: added carts overview page (#3363) * docs: added orders overview (#3364) * docs: added orders overview * added links in overview * docs: added vercel redirects * docs: added soon badge for cards (#3389) * docs: resolved feedback changes + organized troubleshooting pages (#3409) * docs: resolved feedback changes * added extra line * docs: changed icons for restructure (#3421) * docs: added taxes overview page (#3422) * docs: added taxes overview page * docs: fix sidebar label * added link to taxes overview page * fixed link * docs: fixed sidebar scroll (#3429) * docs: added discounts overview (#3432) * docs: added discounts overview * fixed links * docs: added gift cards overview (#3433) * docs: added price lists overview page (#3440) * docs: added price lists overview page * fixed links * docs: added sales channels overview page (#3441) * docs: added sales overview page * fixed links * docs: added users overview (#3443) * docs: fixed sidebar border height (#3444) * docs: fixed sidebar border height * fixed svg markup * docs: added possible solutions to feedback component (#3449) * docs: added several overview pages + restructured files (#3463) * docs: added several overview pages * fixed links * docs: added feature flags + PAK overview pages (#3464) * docs: added feature flags + PAK overview pages * fixed links * fix link * fix link * fixed links colors * docs: added strategies overview page (#3468) * docs: automated upgrade guide (#3470) * docs: automated upgrade guide * fixed vercel redirect * docs: restructured files in docs codebase (#3475) * docs: restructured files * docs: fixed eslint exception * docs: finished restructure loose-ends (#3493) * fixed uses of backend * docs: finished loose ends * eslint fixes * fixed links * merged master * added update instructions for v1.7.12 * docs: fixed discount details (#3499) * docs: fix trailing slash causing 404 (#3508) * docs: fix error during navigation (#3509) * docs: removed the gatsby storefront guide (#3527) * docs: removed the gatsby storefront guide * docs: fixed query value * chore(docs): Removed Docs Announcement Bar (automated) (#3536) Co-authored-by: shahednasser <shahednasser@users.noreply.github.com> * fix(medusa): Variant update should include the id for the listeners to be able to identify the entity (#3539) * fix(medusa): Variant update should include the id for the listeners to be able to identify the entity * fix unit tests * Create brave-seahorses-film.md * docs: fix admin redirects (#3548) * chore(release): v1.7.15 * chore(docs): Generated Docs Announcement Bar (automated) (#3550) Co-authored-by: olivermrbl <olivermrbl@users.noreply.github.com> * chore(docs): Generated Services Reference (automated) (#3551) Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com> * chore: updated READMEs of plugins (#3546) * chore: updated READMEs of plugins * added notice to plugins * docs: added a deploy guide for next.js storefront (#3558) * docs: added a deploy next.js guide * docs: fix image zoom * docs: fixes to next.js deployment guide to vercel (#3562) * chore(workflows): Enable manual workflow in pre-release mode (#3566) * chore(docs): Removed Docs Announcement Bar (automated) (#3598) Co-authored-by: shahednasser <shahednasser@users.noreply.github.com> * fix(medusa): Rounding issues on line item adjustments (#3446) * chores(medusa): Attempt to fix discount rounding issues * add migration * update entities * apply multipler factor properly * fix discount service * WIP * fix rounding issues in discounts * fix some tests * Exclude raw_discount_total from responses * fix adjustments * cleanup response * fix * fix draft order integration * fix order integration * fix order integration * address feedback * fix test * Create .changeset/polite-llamas-sit.md * remove comment --------- Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com> * chore(workflows): Add release notification (#3629) --------- Co-authored-by: pepijn-vanvlaanderen <pepijn@webbers.com> Co-authored-by: olivermrbl <oliver@mrbltech.com> Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: olivermrbl <olivermrbl@users.noreply.github.com> Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com> Co-authored-by: shahednasser <shahednasser@users.noreply.github.com> Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
36 KiB
Class: CartService
Hierarchy
-
TransactionBaseService↳
CartService
Constructors
constructor
• new CartService(__namedParameters)
Parameters
| Name | Type |
|---|---|
__namedParameters |
InjectedDependencies |
Overrides
TransactionBaseService.constructor
Defined in
packages/medusa/src/services/cart.ts:137
Properties
__configModule__
• Protected Optional Readonly __configModule__: Record<string, unknown>
Inherited from
TransactionBaseService.__configModule__
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:10
__container__
• Protected Readonly __container__: any
Inherited from
TransactionBaseService.__container__
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:9
__moduleDeclaration__
• Protected Optional Readonly __moduleDeclaration__: Record<string, unknown>
Inherited from
TransactionBaseService.__moduleDeclaration__
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:11
addressRepository_
• Protected Readonly addressRepository_: typeof AddressRepository
Defined in
packages/medusa/src/services/cart.ts:112
cartRepository_
• Protected Readonly cartRepository_: typeof CartRepository
Defined in
packages/medusa/src/services/cart.ts:111
customShippingOptionService_
• Protected Readonly customShippingOptionService_: CustomShippingOptionService
Defined in
packages/medusa/src/services/cart.ts:130
customerService_
• Protected Readonly customerService_: CustomerService
Defined in
packages/medusa/src/services/cart.ts:123
discountService_
• Protected Readonly discountService_: DiscountService
Defined in
packages/medusa/src/services/cart.ts:125
eventBus_
• Protected Readonly eventBus_: EventBusService
Defined in
packages/medusa/src/services/cart.ts:115
featureFlagRouter_
• Protected Readonly featureFlagRouter_: FlagRouter
Defined in
packages/medusa/src/services/cart.ts:133
giftCardService_
• Protected Readonly giftCardService_: GiftCardService
Defined in
packages/medusa/src/services/cart.ts:126
lineItemAdjustmentService_
• Protected Readonly lineItemAdjustmentService_: LineItemAdjustmentService
Defined in
packages/medusa/src/services/cart.ts:132
lineItemRepository_
• Protected Readonly lineItemRepository_: typeof LineItemRepository
Defined in
packages/medusa/src/services/cart.ts:114
lineItemService_
• Protected Readonly lineItemService_: LineItemService
Defined in
packages/medusa/src/services/cart.ts:121
manager_
• Protected manager_: EntityManager
Overrides
TransactionBaseService.manager_
Defined in
packages/medusa/src/services/cart.ts:107
newTotalsService_
• Protected Readonly newTotalsService_: NewTotalsService
Defined in
packages/medusa/src/services/cart.ts:129
paymentProviderService_
• Protected Readonly paymentProviderService_: PaymentProviderService
Defined in
packages/medusa/src/services/cart.ts:122
paymentSessionRepository_
• Protected Readonly paymentSessionRepository_: typeof PaymentSessionRepository
Defined in
packages/medusa/src/services/cart.ts:113
priceSelectionStrategy_
• Protected Readonly priceSelectionStrategy_: IPriceSelectionStrategy
Defined in
packages/medusa/src/services/cart.ts:131
productService_
• Protected Readonly productService_: ProductService
Defined in
packages/medusa/src/services/cart.ts:117
productVariantInventoryService_
• Protected Readonly productVariantInventoryService_: ProductVariantInventoryService
Defined in
packages/medusa/src/services/cart.ts:135
productVariantService_
• Protected Readonly productVariantService_: ProductVariantService
Defined in
packages/medusa/src/services/cart.ts:116
regionService_
• Protected Readonly regionService_: RegionService
Defined in
packages/medusa/src/services/cart.ts:120
salesChannelService_
• Protected Readonly salesChannelService_: SalesChannelService
Defined in
packages/medusa/src/services/cart.ts:119
shippingMethodRepository_
• Protected Readonly shippingMethodRepository_: typeof ShippingMethodRepository
Defined in
packages/medusa/src/services/cart.ts:110
shippingOptionService_
• Protected Readonly shippingOptionService_: ShippingOptionService
Defined in
packages/medusa/src/services/cart.ts:124
storeService_
• Protected Readonly storeService_: StoreService
Defined in
packages/medusa/src/services/cart.ts:118
taxProviderService_
• Protected Readonly taxProviderService_: TaxProviderService
Defined in
packages/medusa/src/services/cart.ts:127
totalsService_
• Protected Readonly totalsService_: TotalsService
Defined in
packages/medusa/src/services/cart.ts:128
transactionManager_
• Protected transactionManager_: undefined | EntityManager
Overrides
TransactionBaseService.transactionManager_
Defined in
packages/medusa/src/services/cart.ts:108
Events
▪ Static Readonly Events: Object
Type declaration
| Name | Type |
|---|---|
CREATED |
string |
CUSTOMER_UPDATED |
string |
UPDATED |
string |
Defined in
packages/medusa/src/services/cart.ts:101
Methods
addLineItem
▸ addLineItem(cartId, lineItem, config?): Promise<void>
Adds a line item to the cart.
Deprecated
Use addOrUpdateLineItems instead.
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
cartId |
string |
undefined |
the id of the cart that we will add to |
lineItem |
LineItem |
undefined |
the line item to add. |
config |
Object |
undefined |
validateSalesChannels - should check if product belongs to the same sales chanel as cart (if cart has associated sales channel) |
config.validateSalesChannels |
boolean |
true |
- |
Returns
Promise<void>
the result of the update operation
Defined in
packages/medusa/src/services/cart.ts:619
addOrUpdateLineItems
▸ addOrUpdateLineItems(cartId, lineItems, config?): Promise<void>
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
| Name | Type | Default value | Description |
|---|---|---|---|
cartId |
string |
undefined |
the id of the cart that we will add to |
lineItems |
LineItem | LineItem[] |
undefined |
the line items to add. |
config |
Object |
undefined |
validateSalesChannels - should check if product belongs to the same sales chanel as cart (if cart has associated sales channel) |
config.validateSalesChannels |
boolean |
true |
- |
Returns
Promise<void>
the result of the update operation
Defined in
packages/medusa/src/services/cart.ts:745
addShippingMethod
▸ addShippingMethod(cartOrId, optionId, data?): Promise<Cart>
Adds the shipping method to the list of shipping methods associated with the cart. Shipping Methods are the ways that an order is shipped, whereas a Shipping Option is a possible way to ship an order. Shipping Methods may also have additional details in the data field such as an id for a package shop.
Parameters
| Name | Type | Description |
|---|---|---|
cartOrId |
string | Cart |
the id or the cart to add shipping method to |
optionId |
string |
id of shipping option to add as valid method |
data |
Record<string, unknown> |
the fulmillment data for the method |
Returns
Promise<Cart>
the result of the update operation
Defined in
packages/medusa/src/services/cart.ts:2068
adjustFreeShipping_
▸ Protected adjustFreeShipping_(cart, shouldAdd): Promise<void>
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
| Name | Type | Description |
|---|---|---|
cart |
Cart |
the the cart to adjust free shipping for |
shouldAdd |
boolean |
flag to indicate, if we should add or remove |
Returns
Promise<void>
void
Defined in
packages/medusa/src/services/cart.ts:992
applyDiscount
▸ applyDiscount(cart, discountCode): Promise<void>
Updates the cart's discounts. If discount besides free shipping is already applied, this will be overwritten Throws if discount regions does not include the cart region
Parameters
| Name | Type | Description |
|---|---|---|
cart |
Cart |
the cart to update |
discountCode |
string |
the discount code |
Returns
Promise<void>
Defined in
packages/medusa/src/services/cart.ts:1414
applyDiscounts
▸ applyDiscounts(cart, discountCodes): Promise<void>
Updates the cart's discounts. If discount besides free shipping is already applied, this will be overwritten Throws if discount regions does not include the cart region
Parameters
| Name | Type | Description |
|---|---|---|
cart |
Cart |
the cart to update |
discountCodes |
string[] |
the discount code(s) to apply |
Returns
Promise<void>
Defined in
packages/medusa/src/services/cart.ts:1426
applyGiftCard_
▸ Protected applyGiftCard_(cart, code): Promise<void>
Parameters
| Name | Type |
|---|---|
cart |
Cart |
code |
string |
Returns
Promise<void>
Defined in
packages/medusa/src/services/cart.ts:1379
atomicPhase_
▸ Protected atomicPhase_<TResult, TError>(work, isolationOrErrorHandler?, maybeErrorHandlerOrDontFail?): Promise<TResult>
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
| Name |
|---|
TResult |
TError |
Parameters
| Name | Type | Description |
|---|---|---|
work |
(transactionManager: EntityManager) => Promise<TResult> |
the transactional work to be done |
isolationOrErrorHandler? |
IsolationLevel | (error: TError) => Promise<void | TResult> |
the isolation level to be used for the work. |
maybeErrorHandlerOrDontFail? |
(error: TError) => Promise<void | TResult> |
Potential error handler |
Returns
Promise<TResult>
the result of the transactional work
Inherited from
TransactionBaseService.atomicPhase_
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:50
authorizePayment
▸ authorizePayment(cartId, context?): Promise<Cart>
Authorizes a payment for a cart. Will authorize with chosen payment provider. This will return a payment object, that we will use to update our cart payment with. Additionally, if the payment does not require more or fails, we will set the payment on the cart.
Parameters
| Name | Type | Description |
|---|---|---|
cartId |
string |
the id of the cart to authorize payment for |
context |
Record<string, unknown> & { cart_id: string } |
object containing whatever is relevant for authorizing the payment with the payment provider. As an example, this could be IP address or similar for fraud handling. |
Returns
Promise<Cart>
the resulting cart
Defined in
packages/medusa/src/services/cart.ts:1592
create
▸ create(data): Promise<Cart>
Creates a cart.
Parameters
| Name | Type | Description |
|---|---|---|
data |
CartCreateProps |
the data to create the cart with |
Returns
Promise<Cart>
the result of the create operation
Defined in
packages/medusa/src/services/cart.ts:320
createOrFetchGuestCustomerFromEmail_
▸ Protected createOrFetchGuestCustomerFromEmail_(email): Promise<Customer>
Creates or fetches a user based on an email.
Parameters
| Name | Type | Description |
|---|---|---|
email |
string |
the email to use |
Returns
Promise<Customer>
the resultign customer object
Defined in
packages/medusa/src/services/cart.ts:1266
createTaxLines
▸ createTaxLines(cartOrId): Promise<void>
Parameters
| Name | Type |
|---|---|
cartOrId |
string | Cart |
Returns
Promise<void>
Defined in
packages/medusa/src/services/cart.ts:2477
decorateTotals
▸ decorateTotals(cart, totalsConfig?): Promise<WithRequiredProperty<Cart, "total">>
Parameters
| Name | Type |
|---|---|
cart |
Cart |
totalsConfig |
TotalsConfig |
Returns
Promise<WithRequiredProperty<Cart, "total">>
Defined in
packages/medusa/src/services/cart.ts:2527
decorateTotals_
▸ Protected decorateTotals_(cart, totalsToSelect, options?): Promise<Cart>
Deprecated
Use decorateTotals instead
Parameters
| Name | Type |
|---|---|
cart |
Cart |
totalsToSelect |
TotalField[] |
options |
TotalsConfig |
Returns
Promise<Cart>
Defined in
packages/medusa/src/services/cart.ts:2700
delete
▸ delete(cartId): Promise<Cart>
Deletes a cart from the database. Completed carts cannot be deleted.
Parameters
| Name | Type | Description |
|---|---|---|
cartId |
string |
the id of the cart to delete |
Returns
Promise<Cart>
the deleted cart or undefined if the cart was not found.
Defined in
packages/medusa/src/services/cart.ts:2392
deletePaymentSession
▸ deletePaymentSession(cartId, providerId): Promise<void>
Removes a payment session from the cart.
Parameters
| Name | Type | Description |
|---|---|---|
cartId |
string |
the id of the cart to remove from |
providerId |
string |
the id of the provider whoose payment session should be removed. |
Returns
Promise<void>
the resulting cart.
Defined in
packages/medusa/src/services/cart.ts:1959
deleteTaxLines
▸ deleteTaxLines(id): Promise<void>
Parameters
| Name | Type |
|---|---|
id |
string |
Returns
Promise<void>
Defined in
packages/medusa/src/services/cart.ts:2508
findCustomShippingOption
▸ findCustomShippingOption(cartCustomShippingOptions, optionId): undefined | CustomShippingOption
Finds the cart's custom shipping options based on the passed option id. throws if custom options is not empty and no shipping option corresponds to optionId
Parameters
| Name | Type | Description |
|---|---|---|
cartCustomShippingOptions |
CustomShippingOption[] |
the cart's custom shipping options |
optionId |
string |
id of the normal or custom shipping option to find in the cartCustomShippingOptions |
Returns
undefined | CustomShippingOption
custom shipping option
Defined in
packages/medusa/src/services/cart.ts:2175
getTotalsRelations
▸ Private getTotalsRelations(config): string[]
Parameters
| Name | Type |
|---|---|
config |
FindConfig<Cart> |
Returns
string[]
Defined in
packages/medusa/src/services/cart.ts:2751
getValidatedSalesChannel
▸ Protected getValidatedSalesChannel(salesChannelId?): Promise<SalesChannel>
Parameters
| Name | Type |
|---|---|
salesChannelId? |
string |
Returns
Promise<SalesChannel>
Defined in
packages/medusa/src/services/cart.ts:456
list
▸ list(selector, config?): Promise<Cart[]>
Parameters
| Name | Type | Description |
|---|---|---|
selector |
FilterableCartProps |
the query object for find |
config |
FindConfig<Cart> |
config object |
Returns
Promise<Cart[]>
the result of the find operation
Defined in
packages/medusa/src/services/cart.ts:201
onSalesChannelChange
▸ Protected onSalesChannelChange(cart, newSalesChannelId): Promise<void>
Remove the cart line item that does not belongs to the newly assigned sales channel
Parameters
| Name | Type | Description |
|---|---|---|
cart |
Cart |
The cart being updated |
newSalesChannelId |
string |
The new sales channel being assigned to the cart |
Returns
Promise<void>
void
Defined in
packages/medusa/src/services/cart.ts:1212
refreshAdjustments_
▸ Protected refreshAdjustments_(cart): Promise<void>
Parameters
| Name | Type |
|---|---|
cart |
Cart |
Returns
Promise<void>
Defined in
packages/medusa/src/services/cart.ts:2621
refreshPaymentSession
▸ refreshPaymentSession(cartId, providerId): Promise<void>
Refreshes a payment session on a cart
Parameters
| Name | Type | Description |
|---|---|---|
cartId |
string |
the id of the cart to remove from |
providerId |
string |
the id of the provider whoose payment session should be removed. |
Returns
Promise<void>
the resulting cart.
Defined in
packages/medusa/src/services/cart.ts:2013
removeDiscount
▸ removeDiscount(cartId, discountCode): Promise<Cart>
Removes a discount based on a discount code.
Parameters
| Name | Type | Description |
|---|---|---|
cartId |
string |
the id of the cart to remove from |
discountCode |
string |
the discount code to remove |
Returns
Promise<Cart>
the resulting cart
Defined in
packages/medusa/src/services/cart.ts:1502
removeLineItem
▸ removeLineItem(cartId, lineItemId): Promise<Cart>
Removes a line item from the cart.
Parameters
| Name | Type | Description |
|---|---|---|
cartId |
string |
the id of the cart that we will remove from |
lineItemId |
string |
the line item to remove. |
Returns
Promise<Cart>
the result of the update operation
Defined in
packages/medusa/src/services/cart.ts:488
retrieve
▸ retrieve(cartId, options?, totalsConfig?): Promise<Cart>
Gets a cart by id.
Parameters
| Name | Type | Description |
|---|---|---|
cartId |
string |
the id of the cart to get. |
options |
FindConfig<Cart> |
the options to get a cart |
totalsConfig |
TotalsConfig |
Returns
Promise<Cart>
the cart document.
Defined in
packages/medusa/src/services/cart.ts:219
retrieveLegacy
▸ Protected retrieveLegacy(cartId, options?, totalsConfig?): Promise<Cart>
Deprecated
Parameters
| Name | Type |
|---|---|
cartId |
string |
options |
FindConfig<Cart> |
totalsConfig |
TotalsConfig |
Returns
Promise<Cart>
Defined in
packages/medusa/src/services/cart.ts:268
retrieveWithTotals
▸ retrieveWithTotals(cartId, options?, totalsConfig?): Promise<WithRequiredProperty<Cart, "total">>
Parameters
| Name | Type |
|---|---|
cartId |
string |
options |
FindConfig<Cart> |
totalsConfig |
TotalsConfig |
Returns
Promise<WithRequiredProperty<Cart, "total">>
Defined in
packages/medusa/src/services/cart.ts:300
setMetadata
▸ setMetadata(cartId, key, value): Promise<Cart>
Dedicated method to set metadata for a cart. To ensure that plugins does not overwrite each others metadata fields, setMetadata is provided.
Parameters
| Name | Type | Description |
|---|---|---|
cartId |
string |
the cart to apply metadata to. |
key |
string |
key for metadata field |
value |
string | number |
value for metadata field. |
Returns
Promise<Cart>
resolves to the updated result.
Defined in
packages/medusa/src/services/cart.ts:2435
setPaymentSession
▸ setPaymentSession(cartId, providerId): Promise<void>
Selects a payment session for a cart and creates a payment object in the external provider system
Parameters
| Name | Type | Description |
|---|---|---|
cartId |
string |
the id of the cart to add payment method to |
providerId |
string |
the id of the provider to be set to the cart |
Returns
Promise<void>
Defined in
packages/medusa/src/services/cart.ts:1666
setPaymentSessions
▸ setPaymentSessions(cartOrCartId): Promise<void>
Creates, updates and sets payment sessions associated with the cart. The first time the method is called payment sessions will be created for each provider. Additional calls will ensure that payment sessions have correct amounts, currencies, etc. as well as make sure to filter payment sessions that are not available for the cart's region.
Parameters
| Name | Type | Description |
|---|---|---|
cartOrCartId |
string | Cart |
the id of the cart to set payment session for |
Returns
Promise<void>
the result of the update operation.
Defined in
packages/medusa/src/services/cart.ts:1781
setRegion_
▸ Protected setRegion_(cart, regionId, countryCode): Promise<void>
Set's the region of a cart.
Parameters
| Name | Type | Description |
|---|---|---|
cart |
Cart |
the cart to set region on |
regionId |
string |
the id of the region to set the region to |
countryCode |
null | string |
the country code to set the country to |
Returns
Promise<void>
the result of the update operation
Defined in
packages/medusa/src/services/cart.ts:2258
shouldRetryTransaction_
▸ Protected shouldRetryTransaction_(err): boolean
Parameters
| Name | Type |
|---|---|
err |
Record<string, unknown> | { code: string } |
Returns
boolean
Inherited from
TransactionBaseService.shouldRetryTransaction_
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:31
transformQueryForTotals_
▸ Protected transformQueryForTotals_(config): FindConfig<Cart> & { totalsToSelect: TotalField[] }
Parameters
| Name | Type |
|---|---|
config |
FindConfig<Cart> |
Returns
FindConfig<Cart> & { totalsToSelect: TotalField[] }
Defined in
packages/medusa/src/services/cart.ts:2642
update
▸ update(cartId, data): Promise<Cart>
Parameters
| Name | Type |
|---|---|
cartId |
string |
data |
CartUpdateProps |
Returns
Promise<Cart>
Defined in
packages/medusa/src/services/cart.ts:1035
updateBillingAddress_
▸ Protected updateBillingAddress_(cart, addressOrId, addrRepo): Promise<void>
Updates the cart's billing address.
Parameters
| Name | Type | Description |
|---|---|---|
cart |
Cart |
the cart to update |
addressOrId |
string | AddressPayload | Partial<Address> |
the value to set the billing address to |
addrRepo |
AddressRepository |
the repository to use for address updates |
Returns
Promise<void>
the result of the update operation
Defined in
packages/medusa/src/services/cart.ts:1292
updateCustomerId_
▸ Protected updateCustomerId_(cart, customerId): Promise<void>
Sets the customer id of a cart
Parameters
| Name | Type | Description |
|---|---|---|
cart |
Cart |
the cart to add email to |
customerId |
string |
the customer to add to cart |
Returns
Promise<void>
the result of the update operation
Defined in
packages/medusa/src/services/cart.ts:1248
updateLineItem
▸ updateLineItem(cartId, lineItemId, lineItemUpdate): Promise<Cart>
Updates a cart's existing line item.
Parameters
| Name | Type | Description |
|---|---|---|
cartId |
string |
the id of the cart to update |
lineItemId |
string |
the id of the line item to update. |
lineItemUpdate |
LineItemUpdate |
the line item to update. Must include an id field. |
Returns
Promise<Cart>
the result of the update operation
Defined in
packages/medusa/src/services/cart.ts:915
updatePaymentSession
▸ updatePaymentSession(cartId, update): Promise<Cart>
Updates the currently selected payment session.
Parameters
| Name | Type | Description |
|---|---|---|
cartId |
string |
the id of the cart to update the payment session for |
update |
Record<string, unknown> |
the data to update the payment session with |
Returns
Promise<Cart>
the resulting cart
Defined in
packages/medusa/src/services/cart.ts:1554
updateShippingAddress_
▸ Protected updateShippingAddress_(cart, addressOrId, addrRepo): Promise<void>
Updates the cart's shipping address.
Parameters
| Name | Type | Description |
|---|---|---|
cart |
Cart |
the cart to update |
addressOrId |
string | AddressPayload | Partial<Address> |
the value to set the shipping address to |
addrRepo |
AddressRepository |
the repository to use for address updates |
Returns
Promise<void>
the result of the update operation
Defined in
packages/medusa/src/services/cart.ts:1330
updateUnitPrices_
▸ Protected updateUnitPrices_(cart, regionId?, customer_id?): Promise<void>
Parameters
| Name | Type |
|---|---|
cart |
Cart |
regionId? |
string |
customer_id? |
string |
Returns
Promise<void>
Defined in
packages/medusa/src/services/cart.ts:2194
validateLineItem
▸ Protected validateLineItem(sales_channel_id, lineItem): Promise<boolean>
Check if line item's variant belongs to the cart's sales channel.
Parameters
| Name | Type | Description |
|---|---|---|
sales_channel_id |
Object |
the cart for the line item |
sales_channel_id.sales_channel_id |
null | string |
- |
lineItem |
LineItemValidateData |
the line item being added |
Returns
Promise<boolean>
a boolean indicating validation result
Defined in
packages/medusa/src/services/cart.ts:585
validateLineItemShipping_
▸ Protected validateLineItemShipping_(shippingMethods, lineItem): boolean
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
| Name | Type | Description |
|---|---|---|
shippingMethods |
ShippingMethod[] |
the set of shipping methods to check from |
lineItem |
LineItem |
the line item |
Returns
boolean
boolean representing whether shipping method is validated
Defined in
packages/medusa/src/services/cart.ts:554
withTransaction
▸ withTransaction(transactionManager?): CartService
Parameters
| Name | Type |
|---|---|
transactionManager? |
EntityManager |
Returns
Inherited from
TransactionBaseService.withTransaction
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:14