listAndCountPriceRules - Pricing Module Reference
BetaThis documentation provides a reference to the listAndCountPriceRules method. This belongs to the Pricing Module.
This method is used to retrieve a paginated list of price rules along with the total count of available price rules satisfying the provided filters.
Example
To retrieve a list of price rules using their IDs:
import {
initialize as initializePricingModule,
} from "@medusajs/pricing"
async function retrievePriceRules (id: string) {
const pricingService = await initializePricingModule()
const [priceRules, count] = await pricingService.listAndCountPriceRules({
id: [id]
})
// do something with the price rules or return them
}
To specify relations that should be retrieved within the price rules:
import {
initialize as initializePricingModule,
} from "@medusajs/pricing"
async function retrievePriceRules (id: string) {
const pricingService = await initializePricingModule()
const [priceRules, count] = await pricingService.listAndCountPriceRules({
id: [id],
}, {
relations: ["price_set"]
})
// do something with the price rules or return them
}
By default, only the first 15 records are retrieved. You can control pagination by specifying the skip and take properties of the config parameter:
import {
initialize as initializePricingModule,
} from "@medusajs/pricing"
async function retrievePriceRules (id: string, skip: number, take: number) {
const pricingService = await initializePricingModule()
const [priceRules, count] = await pricingService.listAndCountPriceRules({
id: [id],
}, {
relations: ["price_set"],
skip,
take
})
// do something with the price rules or return them
}
You can also use the $and or $or properties of the filter parameter to use and/or conditions in your filters. For example:
import {
initialize as initializePricingModule,
} from "@medusajs/pricing"
async function retrievePriceRules (ids: string[], name: string[], skip: number, take: number) {
const pricingService = await initializePricingModule()
const [priceRules, count] = await pricingService.listAndCountPriceRules({
$and: [
{
id: ids
},
{
name
}
]
}, {
relations: ["price_set"],
skip,
take
})
// do something with the price rules or return them
}
Parameters
filtersFilterablePriceRulePropsThe filters to apply on the retrieved price rules.
filtersFilterablePriceRulePropsconfigFindConfig<PriceRuleDTO>The configurations determining how the price rule is retrieved. Its properties, such as select or relations, accept the
attributes or relations associated with a price rule.
configFindConfig<PriceRuleDTO>select or relations, accept the
attributes or relations associated with a price rule.sharedContextContextA context used to share resources, such as transaction manager, between the application and the module.
sharedContextContextReturns
The list of price rules along with their total count.
Was this section helpful?