Files
medusa-store/docs/content/references/services/classes/OrderService.md
Shahed Nasser 6f1b49af03 chore: merge docs from master to develop (#3650)
* 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>
2023-03-31 09:34:38 +02:00

28 KiB

Class: OrderService

Hierarchy

  • TransactionBaseService

    OrderService

Constructors

constructor

new OrderService(__namedParameters)

Parameters

Name Type
__namedParameters InjectedDependencies

Overrides

TransactionBaseService.constructor

Defined in

packages/medusa/src/services/order.ts:125

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/order.ts:117


cartService_

Protected Readonly cartService_: CartService

Defined in

packages/medusa/src/services/order.ts:116


customerService_

Protected Readonly customerService_: CustomerService

Defined in

packages/medusa/src/services/order.ts:104


discountService_

Protected Readonly discountService_: DiscountService

Defined in

packages/medusa/src/services/order.ts:108


draftOrderService_

Protected Readonly draftOrderService_: DraftOrderService

Defined in

packages/medusa/src/services/order.ts:119


eventBus_

Protected Readonly eventBus_: EventBusService

Defined in

packages/medusa/src/services/order.ts:120


featureFlagRouter_

Protected Readonly featureFlagRouter_: FlagRouter

Defined in

packages/medusa/src/services/order.ts:121


fulfillmentProviderService_

Protected Readonly fulfillmentProviderService_: FulfillmentProviderService

Defined in

packages/medusa/src/services/order.ts:109


fulfillmentService_

Protected Readonly fulfillmentService_: FulfillmentService

Defined in

packages/medusa/src/services/order.ts:110


giftCardService_

Protected Readonly giftCardService_: GiftCardService

Defined in

packages/medusa/src/services/order.ts:118


lineItemService_

Protected Readonly lineItemService_: LineItemService

Defined in

packages/medusa/src/services/order.ts:111


manager_

Protected manager_: EntityManager

Overrides

TransactionBaseService.manager_

Defined in

packages/medusa/src/services/order.ts:100


newTotalsService_

Protected Readonly newTotalsService_: NewTotalsService

Defined in

packages/medusa/src/services/order.ts:113


orderRepository_

Protected Readonly orderRepository_: typeof OrderRepository

Defined in

packages/medusa/src/services/order.ts:103


paymentProviderService_

Protected Readonly paymentProviderService_: PaymentProviderService

Defined in

packages/medusa/src/services/order.ts:105


productVariantInventoryService_

Protected Readonly productVariantInventoryService_: ProductVariantInventoryService

Defined in

packages/medusa/src/services/order.ts:123


regionService_

Protected Readonly regionService_: RegionService

Defined in

packages/medusa/src/services/order.ts:115


shippingOptionService_

Protected Readonly shippingOptionService_: ShippingOptionService

Defined in

packages/medusa/src/services/order.ts:106


shippingProfileService_

Protected Readonly shippingProfileService_: ShippingProfileService

Defined in

packages/medusa/src/services/order.ts:107


taxProviderService_

Protected Readonly taxProviderService_: TaxProviderService

Defined in

packages/medusa/src/services/order.ts:114


totalsService_

Protected Readonly totalsService_: TotalsService

Defined in

packages/medusa/src/services/order.ts:112


transactionManager_

Protected transactionManager_: EntityManager

Overrides

TransactionBaseService.transactionManager_

Defined in

packages/medusa/src/services/order.ts:101


Events

Static Readonly Events: Object

Type declaration

Name Type
CANCELED string
COMPLETED string
FULFILLMENT_CANCELED string
FULFILLMENT_CREATED string
GIFT_CARD_CREATED string
ITEMS_RETURNED string
PAYMENT_CAPTURED string
PAYMENT_CAPTURE_FAILED string
PLACED string
REFUND_CREATED string
REFUND_FAILED string
RETURN_ACTION_REQUIRED string
RETURN_REQUESTED string
SHIPMENT_CREATED string
SWAP_CREATED string
UPDATED string

Defined in

packages/medusa/src/services/order.ts:81

Methods

addShippingMethod

addShippingMethod(orderId, optionId, data?, config?): Promise<Order>

Parameters

Name Type
orderId string
optionId string
data? Record<string, unknown>
config CreateShippingMethodDto

Returns

Promise<Order>

Defined in

packages/medusa/src/services/order.ts:945


archive

archive(orderId): Promise<Order>

Archives an order. It only alloved, if the order has been fulfilled and payment has been captured.

Parameters

Name Type Description
orderId string the order to archive

Returns

Promise<Order>

the result of the update operation

Defined in

packages/medusa/src/services/order.ts:1483


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


cancel

cancel(orderId): Promise<Order>

Cancels an order. Throws if fulfillment process has been initiated. Throws if payment process has been initiated.

Parameters

Name Type Description
orderId string id of order to cancel.

Returns

Promise<Order>

result of the update operation.

Defined in

packages/medusa/src/services/order.ts:1097


cancelFulfillment

cancelFulfillment(fulfillmentId): Promise<Order>

Cancels a fulfillment (if related to an order)

Parameters

Name Type Description
fulfillmentId string the ID of the fulfillment to cancel

Returns

Promise<Order>

updated order

Defined in

packages/medusa/src/services/order.ts:1420


capturePayment

capturePayment(orderId): Promise<Order>

Captures payment for an order.

Parameters

Name Type Description
orderId string id of order to capture payment for.

Returns

Promise<Order>

result of the update operation.

Defined in

packages/medusa/src/services/order.ts:1186


completeOrder

completeOrder(orderId): Promise<Order>

Parameters

Name Type Description
orderId string id of the order to complete

Returns

Promise<Order>

the result of the find operation

Defined in

packages/medusa/src/services/order.ts:513


createFromCart

createFromCart(cartOrId): Promise<Order>

Creates an order from a cart

Parameters

Name Type
cartOrId string | Cart

Returns

Promise<Order>

resolves to the creation result.

Defined in

packages/medusa/src/services/order.ts:543


createFulfillment

createFulfillment(orderId, itemsToFulfill, config?): Promise<Order>

Creates fulfillments for an order. In a situation where the order has more than one shipping method, we need to partition the order items, such that they can be sent to their respective fulfillment provider.

Parameters

Name Type Description
orderId string id of order to cancel.
itemsToFulfill FulFillmentItemType[] items to fulfil.
config Object the config to cancel.
config.location_id? string -
config.metadata? Record<string, unknown> -
config.no_notification? boolean -

Returns

Promise<Order>

result of the update operation.

Defined in

packages/medusa/src/services/order.ts:1291


createGiftCardsFromLineItem_

Protected createGiftCardsFromLineItem_(order, lineItem, manager): Promise<GiftCard>[]

Parameters

Name Type
order Order
lineItem LineItem
manager EntityManager

Returns

Promise<GiftCard>[]

Defined in

packages/medusa/src/services/order.ts:733


createRefund

createRefund(orderId, refundAmount, reason, note?, config?): Promise<Order>

Refunds a given amount back to the customer.

Parameters

Name Type Description
orderId string id of the order to refund.
refundAmount number the amount to refund.
reason string the reason to refund.
note? string note for refund.
config Object the config for refund.
config.no_notification? boolean -

Returns

Promise<Order>

the result of the refund operation.

Defined in

packages/medusa/src/services/order.ts:1509


createShipment

createShipment(orderId, fulfillmentId, trackingLinks?, config?): Promise<Order>

Adds a shipment to the order to indicate that an order has left the warehouse. Will ask the fulfillment provider for any documents that may have been created in regards to the shipment.

Parameters

Name Type Description
orderId string the id of the order that has been shipped
fulfillmentId string the fulfillment that has now been shipped
trackingLinks? TrackingLink[] array of tracking numebers associated with the shipment
config Object the config of the order that has been shipped
config.metadata Record<string, unknown> -
config.no_notification? boolean -

Returns

Promise<Order>

the resulting order following the update.

Defined in

packages/medusa/src/services/order.ts:787


decorateTotals

decorateTotals(order, totalsFields?): Promise<Order>

Calculate and attach the different total fields on the object

Parameters

Name Type
order Order
totalsFields? string[]

Returns

Promise<Order>

Defined in

packages/medusa/src/services/order.ts:1706

decorateTotals(order, context?): Promise<Order>

Calculate and attach the different total fields on the object

Parameters

Name Type
order Order
context? TotalsContext

Returns

Promise<Order>

Defined in

packages/medusa/src/services/order.ts:1708


decorateTotalsLegacy

Protected decorateTotalsLegacy(order, totalsFields?): Promise<Order>

Parameters

Name Type Default value
order Order undefined
totalsFields string[] []

Returns

Promise<Order>

Defined in

packages/medusa/src/services/order.ts:1577


getFulfillmentItems

Protected getFulfillmentItems(order, items, transformer): Promise<LineItem[]>

Retrieves the order line items, given an array of items.

Parameters

Name Type Description
order Order the order to get line items from
items FulFillmentItemType[] the items to get
transformer (item: undefined | LineItem, quantity: number) => unknown a function to apply to each of the items retrieved from the order, should return a line item. If the transformer returns an undefined value the line item will be filtered from the returned array.

Returns

Promise<LineItem[]>

the line items generated by the transformer.

Defined in

packages/medusa/src/services/order.ts:1462


getTotalsRelations

Private getTotalsRelations(config): string[]

Parameters

Name Type
config FindConfig<Order>

Returns

string[]

Defined in

packages/medusa/src/services/order.ts:1966


list

list(selector, config?): Promise<Order[]>

Parameters

Name Type Description
selector Selector<Order> the query object for find
config FindConfig<Order> the config to be used for find

Returns

Promise<Order[]>

the result of the find operation

Defined in

packages/medusa/src/services/order.ts:179


listAndCount

listAndCount(selector, config?): Promise<[Order[], number]>

Parameters

Name Type Description
selector QuerySelector<Order> the query object for find
config FindConfig<Order> the config to be used for find

Returns

Promise<[Order[], number]>

the result of the find operation

Defined in

packages/medusa/src/services/order.ts:196


registerReturnReceived

registerReturnReceived(orderId, receivedReturn, customRefundAmount?): Promise<Order>

Handles receiving a return. This will create a refund to the customer. If the returned items don't match the requested items the return status will be updated to requires_action. This behaviour is useful in sitautions where a custom refund amount is requested, but the retuned items are not matching the requested items. Setting the allowMismatch argument to true, will process the return, ignoring any mismatches.

Parameters

Name Type Description
orderId string the order to return.
receivedReturn Return the received return
customRefundAmount? number the custom refund amount return

Returns

Promise<Order>

the result of the update operation

Defined in

packages/medusa/src/services/order.ts:1891


retrieve

retrieve(orderId, config?): Promise<Order>

Gets an order by id.

Parameters

Name Type Description
orderId string id or selector of order to retrieve
config FindConfig<Order> config of order to retrieve

Returns

Promise<Order>

the order document

Defined in

packages/medusa/src/services/order.ts:339


retrieveByCartId

retrieveByCartId(cartId, config?): Promise<Order>

Gets an order by cart id.

Parameters

Name Type Description
cartId string cart id to find order
config FindConfig<Order> the config to be used to find order

Returns

Promise<Order>

the order document

Defined in

packages/medusa/src/services/order.ts:435


retrieveByExternalId

retrieveByExternalId(externalId, config?): Promise<Order>

Gets an order by id.

Parameters

Name Type Description
externalId string id of order to retrieve
config FindConfig<Order> query config to get order by

Returns

Promise<Order>

the order document

Defined in

packages/medusa/src/services/order.ts:476


retrieveLegacy

Protected retrieveLegacy(orderIdOrSelector, config?): Promise<Order>

Parameters

Name Type
orderIdOrSelector string | Selector<Order>
config FindConfig<Order>

Returns

Promise<Order>

Defined in

packages/medusa/src/services/order.ts:380


retrieveWithTotals

retrieveWithTotals(orderId, options?, context?): Promise<Order>

Parameters

Name Type
orderId string
options FindConfig<Order>
context TotalsContext

Returns

Promise<Order>

Defined in

packages/medusa/src/services/order.ts:418


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): Object

Parameters

Name Type
config FindConfig<Order>

Returns

Object

Name Type
relations undefined | string[]
select undefined | keyof Order[]
totalsToSelect undefined | keyof Order[]

Defined in

packages/medusa/src/services/order.ts:263


update

update(orderId, update): Promise<Order>

Updates an order. Metadata updates should use dedicated method, e.g. setMetadata etc. The function will throw errors if metadata updates are attempted.

Parameters

Name Type Description
orderId string the id of the order. Must be a string that can be casted to an ObjectId
update UpdateOrderInput an object with the update values.

Returns

Promise<Order>

resolves to the update result.

Defined in

packages/medusa/src/services/order.ts:1008


updateBillingAddress

Protected updateBillingAddress(order, address): Promise<void>

Updates the order's billing address.

Parameters

Name Type Description
order Order the order to update
address Address the value to set the billing address to

Returns

Promise<void>

the result of the update operation

Defined in

packages/medusa/src/services/order.ts:875


updateShippingAddress

Protected updateShippingAddress(order, address): Promise<void>

Updates the order's shipping address.

Parameters

Name Type Description
order Order the order to update
address Address the value to set the shipping address to

Returns

Promise<void>

the result of the update operation

Defined in

packages/medusa/src/services/order.ts:914


validateFulfillmentLineItem

Protected validateFulfillmentLineItem(item, quantity): null | LineItem

Checks that a given quantity of a line item can be fulfilled. Fails if the fulfillable quantity is lower than the requested fulfillment quantity. Fulfillable quantity is calculated by subtracting the already fulfilled quantity from the quantity that was originally purchased.

Parameters

Name Type Description
item LineItem the line item to check has sufficient fulfillable quantity.
quantity number the quantity that is requested to be fulfilled.

Returns

null | LineItem

a line item that has the requested fulfillment quantity set.

Defined in

packages/medusa/src/services/order.ts:1258


withTransaction

withTransaction(transactionManager?): OrderService

Parameters

Name Type
transactionManager? EntityManager

Returns

OrderService

Inherited from

TransactionBaseService.withTransaction

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:14