--- displayed_sidebar: servicesSidebar --- import ParameterTypes from "@site/src/components/ParameterTypes" # IStockLocationService ## Methods ### create `**create**(input, context?): Promise<[StockLocationDTO](../types/StockLocationDTO.mdx)>` This method is used to create a stock location. #### Example ```ts import { initialize as initializeStockLocationModule, } from "@medusajs/stock-location" async function createStockLocation (name: string) { const stockLocationModule = await initializeStockLocationModule({}) const stockLocation = await stockLocationModule.create({ name }) // do something with the stock location or return it } ``` #### Parameters #### Returns Promise<[StockLocationDTO](../types/StockLocationDTO.mdx)> ___ ### delete `**delete**(id, context?): Promise<void>` This method is used to delete a stock location. #### Example ```ts import { initialize as initializeStockLocationModule, } from "@medusajs/stock-location" async function deleteStockLocation (id:string) { const stockLocationModule = await initializeStockLocationModule({}) await stockLocationModule.delete(id) } ``` #### Parameters #### Returns Promise<void> ___ ### list `**list**(selector, config?, context?): Promise<[StockLocationDTO](../types/StockLocationDTO.mdx)[]>` This method is used to retrieve a paginated list of stock locations based on optional filters and configuration. #### Example To retrieve a list of stock locations using their IDs: ```ts import { initialize as initializeStockLocationModule, } from "@medusajs/stock-location" async function listStockLocations (ids: string[]) { const stockLocationModule = await initializeStockLocationModule({}) const stockLocations = await stockLocationModule.list({ id: ids }) // do something with the stock locations or return them } ``` To specify relations that should be retrieved within the stock locations: ```ts import { initialize as initializeStockLocationModule, } from "@medusajs/stock-location" async function listStockLocations (ids: string[]) { const stockLocationModule = await initializeStockLocationModule({}) const stockLocations = await stockLocationModule.list({ id: ids }, { relations: ["address"] }) // do something with the stock locations or return them } ``` By default, only the first `10` records are retrieved. You can control pagination by specifying the `skip` and `take` properties of the `config` parameter: ```ts import { initialize as initializeStockLocationModule, } from "@medusajs/stock-location" async function listStockLocations (ids: string[], skip: number, take: number) { const stockLocationModule = await initializeStockLocationModule({}) const stockLocations = await stockLocationModule.list({ id: ids }, { relations: ["address"], skip, take }) // do something with the stock locations or return them } ``` #### Parameters #### Returns Promise<[StockLocationDTO](../types/StockLocationDTO.mdx)[]> ___ ### listAndCount `**listAndCount**(selector, config?, context?): Promise<[[StockLocationDTO](../types/StockLocationDTO.mdx)[], number]>` This method is used to retrieve a paginated list of stock locations along with the total count of available stock locations satisfying the provided filters. #### Example To retrieve a list of stock locations using their IDs: ```ts import { initialize as initializeStockLocationModule, } from "@medusajs/stock-location" async function listStockLocations (ids: string[]) { const stockLocationModule = await initializeStockLocationModule({}) const [stockLocations, count] = await stockLocationModule.listAndCount({ id: ids }) // do something with the stock locations or return them } ``` To specify relations that should be retrieved within the stock locations: ```ts import { initialize as initializeStockLocationModule, } from "@medusajs/stock-location" async function listStockLocations (ids: string[]) { const stockLocationModule = await initializeStockLocationModule({}) const [stockLocations, count] = await stockLocationModule.listAndCount({ id: ids }, { relations: ["address"] }) // do something with the stock locations or return them } ``` By default, only the first `10` records are retrieved. You can control pagination by specifying the `skip` and `take` properties of the `config` parameter: ```ts import { initialize as initializeStockLocationModule, } from "@medusajs/stock-location" async function listStockLocations (ids: string[], skip: number, take: number) { const stockLocationModule = await initializeStockLocationModule({}) const [stockLocations, count] = await stockLocationModule.listAndCount({ id: ids }, { relations: ["address"], skip, take }) // do something with the stock locations or return them } ``` #### Parameters #### Returns Promise<[[StockLocationDTO](../types/StockLocationDTO.mdx)[], number]> ___ ### retrieve `**retrieve**(id, config?, context?): Promise<[StockLocationDTO](../types/StockLocationDTO.mdx)>` This method is used to retrieve a stock location by its ID #### Example A simple example that retrieves a inventory item by its ID: ```ts import { initialize as initializeStockLocationModule, } from "@medusajs/stock-location" async function retrieveStockLocation (id: string) { const stockLocationModule = await initializeStockLocationModule({}) const stockLocation = await stockLocationModule.retrieve(id) // do something with the stock location or return it } ``` To specify relations that should be retrieved: ```ts import { initialize as initializeStockLocationModule, } from "@medusajs/stock-location" async function retrieveStockLocation (id: string) { const stockLocationModule = await initializeStockLocationModule({}) const stockLocation = await stockLocationModule.retrieve(id, { relations: ["address"] }) // do something with the stock location or return it } ``` #### Parameters #### Returns Promise<[StockLocationDTO](../types/StockLocationDTO.mdx)> ___ ### update `**update**(id, input, context?): Promise<[StockLocationDTO](../types/StockLocationDTO.mdx)>` This method is used to update a stock location. #### Example ```ts import { initialize as initializeStockLocationModule, } from "@medusajs/stock-location" async function updateStockLocation (id:string, name: string) { const stockLocationModule = await initializeStockLocationModule({}) const stockLocation = await stockLocationModule.update(id, { name }) // do something with the stock location or return it } ``` #### Parameters #### Returns Promise<[StockLocationDTO](../types/StockLocationDTO.mdx)>