Skip to main content
Skip to main content

medusa

Namespaces

Enumerations

Classes

Interfaces

Type Aliases


Enumeration Members

DEFAULT

DEFAULT: "default"

The calculatedPrice is the original price.

INTERNAL

INTERNAL: "internal"

EXTERNAL

EXTERNAL: "external"


Variables

defaultAdminBatchFields

Const defaultAdminBatchFields: string[]

defaultAdminCollectionsFields

Const defaultAdminCollectionsFields: string[]

defaultAdminCollectionsRelations

Const defaultAdminCollectionsRelations: string[]

defaultAdminCustomerGroupsRelations

Const defaultAdminCustomerGroupsRelations: never[] = []

defaultAdminCustomersRelations

Const defaultAdminCustomersRelations: string[]

defaultAdminDiscountsFields

Const defaultAdminDiscountsFields: keyof Discount[]

defaultAdminDiscountsRelations

Const defaultAdminDiscountsRelations: string[]

defaultAdminDiscountConditionFields

Const defaultAdminDiscountConditionFields: keyof DiscountCondition[]

defaultAdminDiscountConditionRelations

Const defaultAdminDiscountConditionRelations: string[]

defaultAdminDraftOrdersRelations

Const defaultAdminDraftOrdersRelations: string[]

defaultAdminDraftOrdersCartRelations

Const defaultAdminDraftOrdersCartRelations: string[]

defaultAdminDraftOrdersCartFields

Const defaultAdminDraftOrdersCartFields: keyof Cart[]

defaultAdminDraftOrdersFields

Const defaultAdminDraftOrdersFields: keyof DraftOrder[]

defaultAdminGiftCardFields

Const defaultAdminGiftCardFields: keyof GiftCard[]

defaultAdminGiftCardRelations

Const defaultAdminGiftCardRelations: string[]

defaultAdminInventoryItemFields

Const defaultAdminInventoryItemFields: keyof InventoryItemDTO[]

defaultAdminLocationLevelFields

Const defaultAdminLocationLevelFields: keyof InventoryLevelDTO[]

defaultAdminInventoryItemRelations

Const defaultAdminInventoryItemRelations: never[] = []

defaultAdminNotificationsRelations

Const defaultAdminNotificationsRelations: string[]

defaultAdminNotificationsFields

Const defaultAdminNotificationsFields: string[]

filterableAdminOrdersFields

Const filterableAdminOrdersFields: string[]

AvailableOrderIncludes

Const AvailableOrderIncludes: Object

Properties

RETURNABLE_ITEMSstringRequired

Default: "returnable_items"

allowedOrderIncludes

Const allowedOrderIncludes: string[]

defaultPaymentCollectionFields

Const defaultPaymentCollectionFields: string[]

defaulPaymentCollectionRelations

Const defaulPaymentCollectionRelations: string[]

defaultPaymentFields

Const defaultPaymentFields: string[]

defaultAdminPriceListRemoteQueryObject

Const defaultAdminPriceListRemoteQueryObject: Object

Properties

fieldsstring[]Required
price_list_rulesobjectRequired
price_set_money_amountsobjectRequired

defaultAdminPriceListFields

Const defaultAdminPriceListFields: string[]

defaultAdminPriceListRelations

Const defaultAdminPriceListRelations: string[]

defaultAdminProductCategoryRelations

Const defaultAdminProductCategoryRelations: string[]

allowedAdminProductCategoryRelations

Const allowedAdminProductCategoryRelations: string[]

defaultProductCategoryFields

Const defaultProductCategoryFields: string[]

defaultAdminProductTagsFields

Const defaultAdminProductTagsFields: string[]

defaultAdminProductTagsRelations

Const defaultAdminProductTagsRelations: never[] = []

defaultAdminProductTypeFields

Const defaultAdminProductTypeFields: string[]

defaultAdminProductTypeRelations

Const defaultAdminProductTypeRelations: never[] = []

defaultAdminProductRelations

Const defaultAdminProductRelations: string[]

defaultAdminProductFields

Const defaultAdminProductFields: keyof Product[]

defaultAdminGetProductsVariantsFields

Const defaultAdminGetProductsVariantsFields: string[]

defaultAdminProductRemoteQueryObject

Const defaultAdminProductRemoteQueryObject: Object

This is temporary.

Properties

fieldskeyof Product[]Required

Default: defaultAdminProductFields

imagesobjectRequired
tagsobjectRequired
typeobjectRequired
collectionobjectRequired
categoriesobjectRequired
optionsobjectRequired
variantsobjectRequired
profileobjectRequired
sales_channelsobjectRequired

defaultAdminRegionFields

Const defaultAdminRegionFields: keyof Region[]

defaultAdminRegionRelations

Const defaultAdminRegionRelations: string[]

defaultAdminReservationRelations

Const defaultAdminReservationRelations: never[] = []

defaultReservationFields

Const defaultReservationFields: string[]

defaultAdminReturnReasonsFields

Const defaultAdminReturnReasonsFields: keyof ReturnReason[]

defaultAdminReturnReasonsRelations

Const defaultAdminReturnReasonsRelations: keyof ReturnReason[]

defaultRelations

Const defaultRelations: string[]

defaultRelationsList

Const defaultRelationsList: string[]

defaultReturnCancelRelations

Const defaultReturnCancelRelations: string[]

defaultReturnCancelFields

Const defaultReturnCancelFields: keyof Order[]

shippingOptionsDefaultFields

Const shippingOptionsDefaultFields: keyof ShippingOption[]

shippingOptionsDefaultRelations

Const shippingOptionsDefaultRelations: string[]

defaultAdminShippingProfilesFields

Const defaultAdminShippingProfilesFields: keyof ShippingProfile[]

defaultAdminShippingProfilesRelations

Const defaultAdminShippingProfilesRelations: string[]

defaultAdminStockLocationFields

Const defaultAdminStockLocationFields: keyof StockLocationDTO[]

defaultAdminStockLocationRelations

Const defaultAdminStockLocationRelations: never[] = []

defaultRelationsExtended

Const defaultRelationsExtended: string[]

defaultAdminSwapRelations

Const defaultAdminSwapRelations: string[]

defaultAdminSwapFields

Const defaultAdminSwapFields: string[]

defaultAdminTaxRatesRelations

Const defaultAdminTaxRatesRelations: never[] = []

defaultAdminTaxRatesFields

Const defaultAdminTaxRatesFields: keyof TaxRate[]

defaultAdminUserFields

Const defaultAdminUserFields: keyof User[]

defaultAdminVariantRelations

Const defaultAdminVariantRelations: string[]

defaultAdminVariantFields

Const defaultAdminVariantFields: keyof ProductVariant[]

defaultStoreCartFields

Const defaultStoreCartFields: keyof Cart[] = []

defaultStoreCartRelations

Const defaultStoreCartRelations: string[]

defaultStoreCollectionRelations

Const defaultStoreCollectionRelations: never[] = []

allowedFields

Const allowedFields: string[]

defaultStoreCustomersRelations

Const defaultStoreCustomersRelations: string[]

defaultStoreCustomersFields

Const defaultStoreCustomersFields: keyof Customer[]

allowedStoreCustomersRelations

Const allowedStoreCustomersRelations: string[]

allowedStoreCustomersFields

Const allowedStoreCustomersFields: string[]

defaultStoreGiftCardRelations

Const defaultStoreGiftCardRelations: string[]

defaultStoreGiftCardFields

Const defaultStoreGiftCardFields: keyof GiftCard[]

allowedStoreGiftCardRelations

Const allowedStoreGiftCardRelations: string[]

allowedStoreGiftCardFields

Const allowedStoreGiftCardFields: string[]

defaultStoreOrdersRelations

Const defaultStoreOrdersRelations: string[]

allowedStoreOrdersRelations

Const allowedStoreOrdersRelations: string[]

defaultStoreOrdersFields

Const defaultStoreOrdersFields: keyof Order[]

allowedStoreOrdersFields

Const allowedStoreOrdersFields: string[]

defaultPaymentCollectionRelations

Const defaultPaymentCollectionRelations: string[]

defaultStoreProductCategoryRelations

Const defaultStoreProductCategoryRelations: string[]

defaultStoreCategoryScope

Const defaultStoreCategoryScope: Object

Properties

is_internalbooleanRequired

Default: false

is_activebooleanRequired

Default: true

defaultStoreProductCategoryFields

Const defaultStoreProductCategoryFields: string[]

allowedStoreProductCategoryFields

Const allowedStoreProductCategoryFields: string[]

defaultStoreProductTagFields

Const defaultStoreProductTagFields: string[]

allowedStoreProductTagFields

Const allowedStoreProductTagFields: string[]

defaultStoreProductTagRelations

Const defaultStoreProductTagRelations: never[] = []

allowedStoreProductTypeFields

Const allowedStoreProductTypeFields: string[]

defaultStoreProductTypeFields

Const defaultStoreProductTypeFields: string[]

defaultStoreProductTypeRelations

Const defaultStoreProductTypeRelations: never[] = []

defaultStoreProductsRelations

Const defaultStoreProductsRelations: string[]

defaultStoreProductsFields

Const defaultStoreProductsFields: keyof Product[]

allowedStoreProductsFields

Const allowedStoreProductsFields: string[]

allowedStoreProductsRelations

Const allowedStoreProductsRelations: string[]

defaultStoreProductRemoteQueryObject

Const defaultStoreProductRemoteQueryObject: Object

This is temporary.

Properties

fieldskeyof Product[]Required

Default: defaultStoreProductsFields

imagesobjectRequired
tagsobjectRequired
typeobjectRequired
collectionobjectRequired
optionsobjectRequired
variantsobjectRequired
profileobjectRequired
sales_channelsobjectRequired

defaultStoreRegionRelations

Const defaultStoreRegionRelations: string[]

defaultStoreRegionFields

Const defaultStoreRegionFields: string[]

defaultStoreReturnReasonFields

Const defaultStoreReturnReasonFields: keyof ReturnReason[]

defaultStoreReturnReasonRelations

Const defaultStoreReturnReasonRelations: keyof ReturnReason[]

defaultStoreSwapRelations

Const defaultStoreSwapRelations: string[]

defaultStoreSwapFields

Const defaultStoreSwapFields: FindConfig<Swap>["select"]

defaultStoreVariantRelations

Const defaultStoreVariantRelations: string[]

allowedStoreVariantRelations

Const allowedStoreVariantRelations: string[]

PriceType

PriceType: Object

Properties

DEFAULTDEFAULTRequired

Default: "default"

SALESALERequired

Default: "sale"

OVERRIDEOVERRIDERequired

Default: "override"

joinerConfig

Const joinerConfig: ModuleJoinerConfig[]

HTTP_METHODS

Const HTTP_METHODS: readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS", "HEAD"]

List of all the supported HTTP methods


Functions

authenticateCustomer

Returns

RequestHandlerRequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>Required

authenticate

Returns

RequestHandlerRequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>Required

wrapHandler

Parameters

fnhandlerRequired

Returns

RequestHandlerRequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>Required

Deprecated

use import { wrapHandler } from "@medusajs/utils"

canAccessBatchJob

Parameters

reqanyRequired
resanyRequired
nextanyRequired

Returns

PromisePromise<any>Required

getRequestedBatchJob

Parameters

reqanyRequired
resanyRequired
nextanyRequired

Returns

PromisePromise<any>Required

doesConditionBelongToDiscount

Parameters

reqanyRequired
resanyRequired
nextanyRequired

Returns

PromisePromise<any>Required

errorHandler

Returns

(err: MedusaError, req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: NextFunction) => void(err: MedusaError, req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: NextFunction) => voidRequired
Parameters
errMedusaErrorRequired
reqRequest<ParamsDictionary, any, any, ParsedQs, Record<string, any>>Required
resResponse<any, Record<string, any>>Required
nextNextFunctionRequired
Returns
voidvoidRequired

isFeatureFlagEnabled

Parameters

flagKeystringRequired

Returns

(req: Request, res: Response, next: NextFunction) => Promise<void>(req: Request, res: Response, next: NextFunction) => Promise<void>Required
Parameters
reqRequestRequired
resResponseRequired
nextNextFunctionRequired
Returns
PromisePromise<void>Required

normalizeQuery

Normalize an input query, especially from array like query params to an array type e.g: /admin/orders/?fields[]=id,status,cart_id becomes { fields: ["id", "status", "cart_id"] }

Returns

(req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: NextFunction) => void(req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: NextFunction) => voidRequired
Normalize an input query, especially from array like query params to an array type e.g: /admin/orders/?fields[]=id,status,cart_id becomes { fields: ["id", "status", "cart_id"] }
Parameters
reqRequest<ParamsDictionary, any, any, ParsedQs, Record<string, any>>Required
resResponse<any, Record<string, any>>Required
nextNextFunctionRequired
Returns
voidvoidRequired

requireCustomerAuthentication

Returns

RequestHandlerRequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>Required

transformBody

Type Parameters

TobjectRequired

Parameters

plainToClassClassConstructor<T>Required
configValidatorOptionsRequired

Returns

(req: Request, res: Response, next: NextFunction) => Promise<void>(req: Request, res: Response, next: NextFunction) => Promise<void>Required
Parameters
reqRequestRequired
resResponseRequired
nextNextFunctionRequired
Returns
PromisePromise<void>Required

transformIncludesOptions

Retrieve the includes options from the fields query param. If the include option is present then assigned it to includes on req

Parameters

allowedIncludesstring[]Required
The list of fields that can be passed and assign to req.includes

Default: []

expectedIncludesstring[]Required
The list of fields that the consumer can pass to the end point using this middleware. It is a subset of allowedIncludes

Default: []

Returns

(req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: NextFunction) => void(req: Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>, res: Response<any, Record<string, any>>, next: NextFunction) => voidRequired
Retrieve the includes options from the fields query param. If the include option is present then assigned it to includes on req
Parameters
reqRequest<ParamsDictionary, any, any, ParsedQs, Record<string, any>>Required
resResponse<any, Record<string, any>>Required
nextNextFunctionRequired
Returns
voidvoidRequired

transformQuery

Middleware that transform the query input for the admin end points

Type Parameters

TEntityBaseEntityRequired

Parameters

plainToClassClassConstructor<T>Required
configValidatorOptionsRequired

Default: {}

queryConfigOmit<QueryConfig<TEntity>, "allowedFields" | "allowedRelations">

Returns

(req: Request, res: Response, next: NextFunction) => Promise<void>(req: Request, res: Response, next: NextFunction) => Promise<void>Required
Middleware that transform the query input for the admin end points
Parameters
reqRequestRequired
resResponseRequired
nextNextFunctionRequired
Returns
PromisePromise<void>Required

transformStoreQuery

Middleware that transform the query input for the store endpoints

Type Parameters

TEntityBaseEntityRequired

Parameters

plainToClassClassConstructor<T>Required
configValidatorOptionsRequired

Default: {}

queryConfigQueryConfig<TEntity>

Returns

(req: Request, res: Response, next: NextFunction) => Promise<void>(req: Request, res: Response, next: NextFunction) => Promise<void>Required
Middleware that transform the query input for the store endpoints
Parameters
reqRequestRequired
resResponseRequired
nextNextFunctionRequired
Returns
PromisePromise<void>Required

reserveQuantityForDraftOrder

Parameters

orderOrderRequired
An order is a purchase made by a customer. It holds details about payment and fulfillment of the order. An order may also be created from a draft order, which is created by an admin user.
contextobjectRequired
context.productVariantInventoryServiceProductVariantInventoryServiceRequired
context.locationIdstring

Returns

PromisePromise<void>Required

unauthenticatedInviteRoutes

Parameters

appanyRequired

Returns

voidvoidRequired

adjustInventoryForCancelledFulfillment

Parameters

fulfillmentFulfillmentRequired
A Fulfillment is created once an admin can prepare the purchased goods. Fulfillments will eventually be shipped and hold information about how to track shipments. Fulfillments are created through a fulfillment provider, which typically integrates a third-party shipping service. Fulfillments can be associated with orders, claims, swaps, and returns.
contextobjectRequired
context.productVariantInventoryServiceProductVariantInventoryServiceRequired

Returns

PromisePromise<void>Required

updateInventoryAndReservations

Parameters

fulfillmentsFulfillment[]Required
contextobjectRequired
context.inventoryServiceProductVariantInventoryServiceRequired
context.locationIdstringRequired

Returns

PromisePromise<void>Required

unauthenticatedUserRoutes

Parameters

appanyRequired

Returns

voidvoidRequired

isPaymentProcessorError

Parameters

objanyRequired

Returns

objobj is PaymentProcessorErrorRequired

extendedFindParamsMixin

Parameters

__namedParametersobjectRequired

Default: {}

__namedParameters.limitnumber
__namedParameters.offsetnumber

Returns

buildQuery

Used to build TypeORM queries.

Type Parameters

TWhereKeysobjectRequired
TEntityobjectRequired

Parameters

selectorTWhereKeysRequired
The selector
configFindConfig<TEntity>Required
The config

Default: {}

Returns

ExtendedFindConfigExtendedFindConfig<TEntity>Required
The QueryBuilderConfig

buildLegacyFieldsListFrom

Revert new object structure of find options to the legacy structure of previous version

Example

input: {
test: {
test1: true,
test2: true,
test3: {
test4: true
},
},
test2: true
}
output: ['test.test1', 'test.test2', 'test.test3.test4', 'test2']

Type Parameters

TEntityobjectRequired

Parameters

inputFindOptionsWhere<TEntity> | FindOptionsSelect<TEntity> | FindOptionsOrder<TEntity> | FindOptionsRelations<TEntity>Required

Default: {}

Returns

keyof TEntity[]keyof TEntity[]Required
Revert new object structure of find options to the legacy structure of previous version

Deprecated

in favor of import { objectToStringPath } from "@medusajs/utils"

addOrderToSelect

Type Parameters

TEntityobjectRequired

Parameters

orderFindOptionsOrder<TEntity>Required
selectFindOptionsSelect<TEntity>Required

Returns

voidvoidRequired

nullableValue

Parameters

valueanyRequired

Returns

FindOperatorFindOperator<any>Required

calculatePriceTaxAmount

Return the tax amount that

  • is includes in the price if it is tax inclusive
  • will be applied on to the price if it is tax exclusive

Parameters

__namedParametersobjectRequired
__namedParameters.pricenumberRequired
__namedParameters.taxRatenumberRequired
__namedParameters.includesTaxboolean

Returns

numbernumberRequired
Return the tax amount that
  • is includes in the price if it is tax inclusive
  • will be applied on to the price if it is tax exclusive

cleanResponseData

Filter response data to contain props specified in the allowedProperties. You can read more in the transformQuery middleware utility methods.

Type Parameters

TunknownRequired

Parameters

dataTRequired
record or an array of records in the response
fieldsstring[]Required
record props allowed in the response

Returns

T extends [] ? Partial<T>[] : Partial<T>T extends [] ? Partial<T>[] : Partial<T>Required
Filter response data to contain props specified in the allowedProperties. You can read more in the transformQuery middleware utility methods.

csvCellContentFormatter

Parameters

strstringRequired

Returns

stringstringRequired

csvRevertCellContentFormatter

Parameters

strstringRequired

Returns

stringstringRequired

resolveDbType

Parameters

pgSqlTypeColumnTypeRequired

Returns

ColumnTypeColumnTypeRequired

resolveDbGenerationStrategy

Parameters

pgSqlType"uuid" | "rowid" | "increment"Required

Returns

"increment" | "uuid" | "rowid""increment" | "uuid" | "rowid"Required

DbAwareColumn

Parameters

columnOptionsColumnOptionsRequired

Returns

PropertyDecoratorPropertyDecoratorRequired

formatException

Parameters

erranyRequired

Returns

typestringRequired
messagestringRequired
dateDateRequired
TypesobjectRequired
CodesobjectRequired
constructor(type: string, message: string, code?: string, ...params: any) => MedusaErrorRequired
codestring

generateEntityId

Generate a composed id based on the input parameters and return either the is if it exists or the generated one.

Parameters

idPropertystring
prefixstring

Returns

stringstringRequired
Generate a composed id based on the input parameters and return either the is if it exists or the generated one.

hasChanges

Compare two objects and return true if there is changes detected from obj2 compared to obj1

Type Parameters

T1ObjectRequired
T2ObjectRequired

Parameters

obj1T1Required
obj2T2Required

Returns

booleanbooleanRequired
Compare two objects and return true if there is changes detected from obj2 compared to obj1

isDate

Parameters

valueanyRequired

Returns

valuevalue is DateRequired

isObject

Parameters

objanyRequired

Returns

objobj is objectRequired

isString

Parameters

valanyRequired

Returns

valval is stringRequired

omitDeep

Type Parameters

TobjectRequired

Parameters

inputobjectRequired
excludes(string | number)[]Required

Returns

TTRequired

categoryMatchesScope

Parameters

categoryProductCategoryRequired
A product category can be used to categorize products into a hierarchy of categories.
queryFindOptionsWhere<ProductCategory>Required

Returns

booleanbooleanRequired

fetchCategoryDescendantsIds

Parameters

productCategoryProductCategoryRequired
A product category can be used to categorize products into a hierarchy of categories.
queryFindOptionsWhere<ProductCategory>Required

Returns

string[]string[]Required

getVariantsFromPriceList

Parameters

containerMedusaContainerRequired
priceListIdstringRequired

Returns

PromisePromise<ProductVariantDTO[]>Required

listProducts

Parameters

containerMedusaContainerRequired
filterableFieldsanyRequired
listConfiganyRequired

Returns

PromisePromise<any[]>Required

retrieveProduct

Parameters

containeranyRequired
idanyRequired
remoteQueryObjectobjectRequired

Default: {}

Returns

PromisePromise<any>Required

remoteQueryFetchData

Parameters

containerMedusaContainerRequired

Returns

(expand: any, keyField: any, ids: any, relationship: any) => Promise<any>(expand: any, keyField: any, ids: any, relationship: any) => Promise<any>Required
Parameters
expandanyRequired
keyFieldanyRequired
idsanyRequired
relationshipanyRequired
Returns
PromisePromise<any>Required

removeUndefinedProperties

Type Parameters

TobjectRequired

Parameters

inputObjTRequired

Returns

TTRequired

setMetadata

Dedicated method to set metadata.

Parameters

objundefined | null | objectRequired
the entity to apply metadata to.
metadataRecord<string, unknown>Required
the metadata to set

Returns

RecordRecord<string, unknown>Required
resolves to the updated result.

validateId

Parameters

rawIdstringRequired
configobjectRequired

Default: {}

config.prefixstring
config.lengthnumber

Returns

stringstringRequired

registerOverriddenValidators

When overriding a validator, you can register it to be used instead of the original one. For example, the place where you are overriding the core validator, you can call this function

Example

// /src/api/routes/admin/products/create-product.ts
import { registerOverriddenValidators } from "@medusajs/medusa"
import { AdminPostProductsReq as MedusaAdminPostProductsReq } from "@medusajs/medusa/dist/api/routes/admin/products/create-product"
import { IsString } from "class-validator"

class AdminPostProductsReq extends MedusaAdminPostProductsReq {
@IsString()
test: string
}

registerOverriddenValidators(AdminPostProductsReq)

Parameters

extendedValidatorConstructor<any>Required

Returns

voidvoidRequired
When overriding a validator, you can register it to be used instead of the original one. For example, the place where you are overriding the core validator, you can call this function

validator

Type Parameters

TobjectRequired
VobjectRequired

Parameters

typedClassClassConstructor<T>Required
plainVRequired
configValidatorOptionsRequired

Default: {}

Returns

PromisePromise<T>Required

IsType

Parameters

typesany[]Required
validationOptionsValidationOptions

Returns

(object: Object, propertyName: string) => void(object: Object, propertyName: string) => voidRequired
Parameters
objectObjectRequired
propertyNamestringRequired
Returns
voidvoidRequired
Was this section helpful?