--- displayed_sidebar: servicesSidebar --- import ParameterTypes from "@site/src/components/ParameterTypes" # RegionService Provides layer to manipulate regions. ## Constructors ### constructor `**new RegionService**(«destructured»)` #### Parameters ## Properties `", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__container__", "type": "`any`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__moduleDeclaration__", "type": "`Record`", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "countryRepository_", "type": "Repository<[Country](Country.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "currencyRepository_", "type": "Repository<[Currency](Currency.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "eventBus_", "type": "[EventBusService](EventBusService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "featureFlagRouter_", "type": "[FlagRouter](FlagRouter.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "fulfillmentProviderRepository_", "type": "Repository<[FulfillmentProvider](FulfillmentProvider.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "fulfillmentProviderService_", "type": "[FulfillmentProviderService](FulfillmentProviderService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "manager_", "type": "EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentProviderRepository_", "type": "Repository<[PaymentProvider](PaymentProvider.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentProviderService_", "type": "[PaymentProviderService](PaymentProviderService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "regionRepository_", "type": "Repository<[Region](Region.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "storeService_", "type": "[StoreService](StoreService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "taxProviderRepository_", "type": "Repository<[TaxProvider](TaxProvider.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "transactionManager_", "type": "`undefined` \\| EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "Events", "type": "`object`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "Events.CREATED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"region.created\"", "expandable": false, "children": [] }, { "name": "Events.DELETED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"region.deleted\"", "expandable": false, "children": [] }, { "name": "Events.UPDATED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"region.updated\"", "expandable": false, "children": [] } ]} /> ## Accessors ### activeManager\_ `Protected get**activeManager_**(): EntityManager` #### Returns EntityManager ## Methods ### addCountry `**addCountry**(regionId, code): Promise<[Region](Region.mdx)>` Adds a country to the region. #### Parameters #### Returns Promise<[Region](Region.mdx)> ___ ### addFulfillmentProvider `**addFulfillmentProvider**(regionId, providerId): Promise<[Region](Region.mdx)>` Adds a fulfillment provider that is available in the region. Fails if the provider doesn't exist. #### Parameters #### Returns Promise<[Region](Region.mdx)> ___ ### addPaymentProvider `**addPaymentProvider**(regionId, providerId): Promise<[Region](Region.mdx)>` Adds a payment provider that is available in the region. Fails if the provider doesn't exist. #### Parameters #### Returns Promise<[Region](Region.mdx)> ___ ### atomicPhase\_ `Protected **atomicPhase_**(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. #### Parameters Promise<TResult>", "description": "the transactional work to be done", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "isolationOrErrorHandler", "type": "`IsolationLevel` \\| (`error`: `TError`) => Promise<void \\| TResult>", "description": "the isolation level to be used for the work.", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "maybeErrorHandlerOrDontFail", "type": "(`error`: `TError`) => Promise<void \\| TResult>", "description": "Potential error handler", "optional": true, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns Promise<TResult> ___ ### create `**create**(data): Promise<[Region](Region.mdx)>` Creates a region. #### Parameters #### Returns Promise<[Region](Region.mdx)> ___ ### delete `**delete**(regionId): Promise<void>` Deletes a region. #### Parameters #### Returns Promise<void> ___ ### list `**list**(selector?, config?): Promise<[Region](Region.mdx)[]>` Lists all regions based on a query #### Parameters #### Returns Promise<[Region](Region.mdx)[]> ___ ### listAndCount `**listAndCount**(selector?, config?): Promise<[[Region](Region.mdx)[], number]>` Lists all regions based on a query and returns them along with count #### Parameters #### Returns Promise<[[Region](Region.mdx)[], number]> ___ ### removeCountry `**removeCountry**(regionId, code): Promise<[Region](Region.mdx)>` Removes a country from a Region. #### Parameters #### Returns Promise<[Region](Region.mdx)> ___ ### removeFulfillmentProvider `**removeFulfillmentProvider**(regionId, providerId): Promise<[Region](Region.mdx)>` Removes a fulfillment provider from a region. Is idempotent. #### Parameters #### Returns Promise<[Region](Region.mdx)> ___ ### removePaymentProvider `**removePaymentProvider**(regionId, providerId): Promise<[Region](Region.mdx)>` Removes a payment provider from a region. Is idempotent. #### Parameters #### Returns Promise<[Region](Region.mdx)> ___ ### retrieve `**retrieve**(regionId, config?): Promise<[Region](Region.mdx)>` Retrieves a region by its id. #### Parameters #### Returns Promise<[Region](Region.mdx)> ___ ### retrieveByCountryCode `**retrieveByCountryCode**(code, config?): Promise<[Region](Region.mdx)>` Retrieve a region by country code. #### Parameters #### Returns Promise<[Region](Region.mdx)> ___ ### retrieveByName `**retrieveByName**(name): Promise<[Region](Region.mdx)>` Retrieves a region by name. #### Parameters #### Returns Promise<[Region](Region.mdx)> ___ ### shouldRetryTransaction\_ `Protected **shouldRetryTransaction_**(err): boolean` #### Parameters ` \\| `{ code: string }`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> #### Returns `boolean` ___ ### update `**update**(regionId, update): Promise<[Region](Region.mdx)>` Updates a region #### Parameters #### Returns Promise<[Region](Region.mdx)> ___ ### validateCountry `Protected **validateCountry**(code, regionId): Promise<[Country](Country.mdx)>` Validates a country code. Will normalize the code before checking for existence. #### Parameters #### Returns Promise<[Country](Country.mdx)> ___ ### validateCurrency `Protected **validateCurrency**(currencyCode): Promise<void>` Validates a currency code. Will throw if the currency code doesn't exist. #### Parameters #### Returns Promise<void> #### Throws if the provided currency code is invalid ___ ### validateFields `Protected **validateFields**(regionData, id?): Promise<DeepPartial<[Region](Region.mdx)>>` Validates fields for creation and updates. If the region already exists the id can be passed to check that country updates are allowed. #### Parameters #### Returns Promise<DeepPartial<[Region](Region.mdx)>> ___ ### validateTaxRate `Protected **validateTaxRate**(taxRate): void` Validates a tax rate. Will throw if the tax rate is not between 0 and 1. #### Parameters #### Returns `void` #### Throws if the tax rate isn't number between 0-100 ___ ### withTransaction `**withTransaction**(transactionManager?): [RegionService](RegionService.mdx)` #### Parameters #### Returns [RegionService](RegionService.mdx)