Skip to main content

Class: RegionService

Provides layer to manipulate regions.

Hierarchy​

  • TransactionBaseService

    ↳ RegionService

Constructors​

constructor​

• new RegionService(__namedParameters)

Parameters​

NameType
__namedParametersInjectedDependencies

Overrides​

TransactionBaseService.constructor

Defined in​

medusa/src/services/region.ts:64

Properties​

__configModule__​

• Protected Optional Readonly __configModule__: Record<string, unknown>

Inherited from​

TransactionBaseService.__configModule__

Defined in​

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


__container__​

• Protected Readonly __container__: any

Inherited from​

TransactionBaseService.__container__

Defined in​

medusa/src/interfaces/transaction-base-service.ts:13


__moduleDeclaration__​

• Protected Optional Readonly __moduleDeclaration__: Record<string, unknown>

Inherited from​

TransactionBaseService.__moduleDeclaration__

Defined in​

medusa/src/interfaces/transaction-base-service.ts:15


countryRepository_​

• Protected Readonly countryRepository_: Repository<Country>

Defined in​

medusa/src/services/region.ts:56


currencyRepository_​

• Protected Readonly currencyRepository_: Repository<Currency>

Defined in​

medusa/src/services/region.ts:57


eventBus_​

• Protected Readonly eventBus_: EventBusService

Defined in​

medusa/src/services/region.ts:51


featureFlagRouter_​

• Protected featureFlagRouter_: FlagRouter

Defined in​

medusa/src/services/region.ts:49


fulfillmentProviderRepository_​

• Protected Readonly fulfillmentProviderRepository_: Repository<FulfillmentProvider>

Defined in​

medusa/src/services/region.ts:61


fulfillmentProviderService_​

• Protected Readonly fulfillmentProviderService_: FulfillmentProviderService

Defined in​

medusa/src/services/region.ts:54


manager_​

• Protected manager_: EntityManager

Inherited from​

TransactionBaseService.manager_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:5


paymentProviderRepository_​

• Protected Readonly paymentProviderRepository_: Repository<PaymentProvider>

Defined in​

medusa/src/services/region.ts:59


paymentProviderService_​

• Protected Readonly paymentProviderService_: PaymentProviderService

Defined in​

medusa/src/services/region.ts:53


regionRepository_​

• Protected Readonly regionRepository_: Repository<Region>

Defined in​

medusa/src/services/region.ts:55


storeService_​

• Protected Readonly storeService_: StoreService

Defined in​

medusa/src/services/region.ts:52


taxProviderRepository_​

• Protected Readonly taxProviderRepository_: Repository<TaxProvider>

Defined in​

medusa/src/services/region.ts:62


transactionManager_​

• Protected transactionManager_: undefined | EntityManager

Inherited from​

TransactionBaseService.transactionManager_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:6


Events​

▪ Static Events: Object

Type declaration​

NameType
CREATEDstring
DELETEDstring
UPDATEDstring

Defined in​

medusa/src/services/region.ts:43

Accessors​

activeManager_​

• Protected get activeManager_(): EntityManager

Returns​

EntityManager

Inherited from​

TransactionBaseService.activeManager_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:8

Methods​

addCountry​

▸ addCountry(regionId, code): Promise<Region>

Adds a country to the region.

Parameters​

NameTypeDescription
regionIdstringthe region to add a country to
codestringa 2 digit alphanumeric ISO country code.

Returns​

Promise<Region>

the updated Region

Defined in​

medusa/src/services/region.ts:577


addFulfillmentProvider​

▸ addFulfillmentProvider(regionId, providerId): Promise<Region>

Adds a fulfillment provider that is available in the region. Fails if the provider doesn't exist.

Parameters​

NameTypeDescription
regionIdstringthe region to add the provider to
providerIdstringthe provider to add to the region

Returns​

Promise<Region>

the updated Region

Defined in​

medusa/src/services/region.ts:705


addPaymentProvider​

▸ addPaymentProvider(regionId, providerId): Promise<Region>

Adds a payment provider that is available in the region. Fails if the provider doesn't exist.

Parameters​

NameTypeDescription
regionIdstringthe region to add the provider to
providerIdstringthe provider to add to the region

Returns​

Promise<Region>

the updated Region

Defined in​

medusa/src/services/region.ts:656


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​

NameTypeDescription
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​

medusa/src/interfaces/transaction-base-service.ts:56


create​

▸ create(data): Promise<Region>

Creates a region.

Parameters​

NameTypeDescription
dataCreateRegionInputthe unvalidated region

Returns​

Promise<Region>

the newly created region

Defined in​

medusa/src/services/region.ts:100


delete​

▸ delete(regionId): Promise<void>

Deletes a region.

Parameters​

NameTypeDescription
regionIdstringthe region to delete

Returns​

Promise<void>

the result of the delete operation

Defined in​

medusa/src/services/region.ts:546


list​

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

Lists all regions based on a query

Parameters​

NameTypeDescription
selectorSelector<Region>query object for find
configFindConfig<Region>configuration settings

Returns​

Promise<Region[]>

result of the find operation

Defined in​

medusa/src/services/region.ts:505


listAndCount​

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

Lists all regions based on a query and returns them along with count

Parameters​

NameTypeDescription
selectorSelector<Region>query object for find
configFindConfig<Region>configuration settings

Returns​

Promise<[Region[], number]>

result of the find operation

Defined in​

medusa/src/services/region.ts:524


removeCountry​

▸ removeCountry(regionId, code): Promise<Region>

Removes a country from a Region.

Parameters​

NameTypeDescription
regionIdstringthe region to remove from
codestringa 2 digit alphanumeric ISO country code to remove

Returns​

Promise<Region>

the updated Region

Defined in​

medusa/src/services/region.ts:615


removeFulfillmentProvider​

▸ removeFulfillmentProvider(regionId, providerId): Promise<Region>

Removes a fulfillment provider from a region. Is idempotent.

Parameters​

NameTypeDescription
regionIdstringthe region to remove the provider from
providerIdstringthe provider to remove from the region

Returns​

Promise<Region>

the updated Region

Defined in​

medusa/src/services/region.ts:791


removePaymentProvider​

▸ removePaymentProvider(regionId, providerId): Promise<Region>

Removes a payment provider from a region. Is idempotent.

Parameters​

NameTypeDescription
regionIdstringthe region to remove the provider from
providerIdstringthe provider to remove from the region

Returns​

Promise<Region>

the updated Region

Defined in​

medusa/src/services/region.ts:752


retrieve​

▸ retrieve(regionId, config?): Promise<Region>

Retrieves a region by its id.

Parameters​

NameTypeDescription
regionIdstringthe id of the region to retrieve
configFindConfig<Region>configuration settings

Returns​

Promise<Region>

the region

Defined in​

medusa/src/services/region.ts:470


retrieveByCountryCode​

▸ retrieveByCountryCode(code, config?): Promise<Region>

Retrieve a region by country code.

Parameters​

NameTypeDescription
codestringa 2 digit alphanumeric ISO country code
configFindConfig<Region>region find config

Returns​

Promise<Region>

a Region with country code

Defined in​

medusa/src/services/region.ts:416


retrieveByName​

▸ retrieveByName(name): Promise<Region>

Retrieves a region by name.

Parameters​

NameTypeDescription
namestringthe name of the region to retrieve

Returns​

Promise<Region>

region with the matching name

Defined in​

medusa/src/services/region.ts:450


shouldRetryTransaction_​

▸ Protected shouldRetryTransaction_(err): boolean

Parameters​

NameType
errRecord<string, unknown> | { code: string }

Returns​

boolean

Inherited from​

TransactionBaseService.shouldRetryTransaction_

Defined in​

medusa/src/interfaces/transaction-base-service.ts:37


update​

▸ update(regionId, update): Promise<Region>

Updates a region

Parameters​

NameTypeDescription
regionIdstringthe region to update
updateUpdateRegionInputthe data to update the region with

Returns​

Promise<Region>

the result of the update operation

Defined in​

medusa/src/services/region.ts:171


validateCountry​

▸ Protected validateCountry(code, regionId): Promise<Country>

Validates a country code. Will normalize the code before checking for existence.

Parameters​

NameTypeDescription
codestringa 2 digit alphanumeric ISO country code
regionIdstringthe id of the current region to check against

Returns​

Promise<Country>

the validated Country

Defined in​

medusa/src/services/region.ts:367


validateCurrency​

▸ Protected validateCurrency(currencyCode): Promise<void>

Validates a currency code. Will throw if the currency code doesn't exist.

Throws

if the provided currency code is invalid

Parameters​

NameTypeDescription
currencyCodestringan ISO currency code

Returns​

Promise<void>

void

Defined in​

medusa/src/services/region.ts:342


validateFields​

▸ Protected validateFields<T>(regionData, id?): Promise<DeepPartial<Region>>

Validates fields for creation and updates. If the region already exists the id can be passed to check that country updates are allowed.

Type parameters​

NameType
Textends UpdateRegionInput | CreateRegionInput

Parameters​

NameTypeDescription
regionDataOmit<T, "metadata" | "currency_code">the region data to validate
id?T extends UpdateRegionInput ? string : undefinedoptional id of the region to check against

Returns​

Promise<DeepPartial<Region>>

the validated region data

Defined in​

medusa/src/services/region.ts:240


validateTaxRate​

▸ Protected validateTaxRate(taxRate): void

Validates a tax rate. Will throw if the tax rate is not between 0 and 1.

Throws

if the tax rate isn't number between 0-100

Parameters​

NameTypeDescription
taxRatenumbera number representing the tax rate of the region

Returns​

void

void

Defined in​

medusa/src/services/region.ts:326


withTransaction​

▸ withTransaction(transactionManager?): RegionService

Parameters​

NameType
transactionManager?EntityManager

Returns​

RegionService

Inherited from​

TransactionBaseService.withTransaction

Defined in​

medusa/src/interfaces/transaction-base-service.ts:20

Was this section helpful?