feat(medusa): add list location levels endpoint in api v2 (#6741)

This commit is contained in:
Philip Korsholm
2024-03-27 18:59:38 +01:00
committed by GitHub
parent cf3c9b13b5
commit ff84f749d5
4 changed files with 122 additions and 0 deletions
@@ -46,3 +46,27 @@ export const POST = async (
res.status(200).json({ inventory_item })
}
export const GET = async (req: MedusaRequest, res: MedusaResponse) => {
const remoteQuery = req.scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
const query = remoteQueryObjectFromString({
entryPoint: "inventory_levels",
variables: {
filters: req.filterableFields,
order: req.listConfig.order,
skip: req.listConfig.skip,
take: req.listConfig.take,
},
fields: req.remoteQueryConfig.fields,
})
const { rows: inventory_levels, metadata } = await remoteQuery(query)
res.status(200).json({
inventory_levels,
count: metadata.count,
offset: metadata.skip,
limit: metadata.take,
})
}
@@ -1,6 +1,7 @@
import * as QueryConfig from "./query-config"
import {
AdminGetInventoryItemsItemLocationLevelsParams,
AdminGetInventoryItemsItemParams,
AdminGetInventoryItemsParams,
AdminPostInventoryItemsInventoryItemParams,
@@ -52,6 +53,21 @@ export const adminInventoryRoutesMiddlewares: MiddlewareRoute[] = [
),
],
},
{
method: ["GET"],
matcher: "/admin/inventory-items/:id/location-levels",
middlewares: [
transformQuery(
AdminGetInventoryItemsItemLocationLevelsParams,
QueryConfig.listLocationLevelsTransformQueryConfig
),
],
},
{
method: ["POST"],
matcher: "/admin/inventory-items/:id/location-levels",
middlewares: [transformBody(AdminPostInventoryItemsItemLocationLevelsReq)],
},
{
method: ["POST"],
matcher: "/admin/inventory-items/:id/location-levels",
@@ -259,6 +259,14 @@ export class AdminPostInventoryItemsReq {
metadata?: Record<string, unknown>
}
export class AdminGetInventoryItemsItemLocationLevelsParams extends FindParams {
/**
* Location IDs to filter location levels.
*/
@IsOptional()
@IsString({ each: true })
location_id?: string[]
}
/**
* @schema AdminPostInventoryItemsItemLocationLevelsLevelReq
* type: object