chore: query inventory items by location id (#7524)

what:

- allows querying inventory items by the correct location_id
This commit is contained in:
Riqwan Thamir
2024-05-29 16:14:10 +02:00
committed by GitHub
parent a40b6aef6d
commit f0b9d5534e
3 changed files with 31 additions and 23 deletions

View File

@@ -1,8 +1,8 @@
import { IInventoryServiceNext, IStockLocationService } from "@medusajs/types"
import {
ContainerRegistrationKeys,
remoteQueryObjectFromString,
} from "@medusajs/utils"
import { IInventoryServiceNext, IStockLocationService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/modules-sdk"
import { createAdminUser } from "../../../helpers/create-admin-user"
@@ -751,7 +751,10 @@ medusaIntegrationTestRunner({
},
])
const response = await api.get(`/admin/inventory-items`, adminHeaders)
const response = await api.get(
`/admin/inventory-items?location_levels[location_id]=${location1}`,
adminHeaders
)
expect(response.data.inventory_items).toHaveLength(1)
expect(response.data.inventory_items[0]).toEqual(

View File

@@ -1,10 +1,10 @@
import { z } from "zod"
import { OptionalBooleanValidator } from "../../utils/common-validators"
import {
createFindParams,
createOperatorMap,
createSelectParams,
} from "../../utils/validators"
import { OptionalBooleanValidator } from "../../utils/common-validators"
export type AdminGetInventoryItemParamsType = z.infer<
typeof AdminGetInventoryItemParams
@@ -17,25 +17,31 @@ export type AdminGetInventoryItemsParamsType = z.infer<
export const AdminGetInventoryItemsParams = createFindParams({
limit: 20,
offset: 0,
}).merge(
z.object({
q: z.string().optional(),
id: z.union([z.string(), z.array(z.string())]).optional(),
location_id: z.union([z.string(), z.array(z.string())]).optional(),
sku: z.union([z.string(), z.array(z.string())]).optional(),
origin_country: z.union([z.string(), z.array(z.string())]).optional(),
mid_code: z.union([z.string(), z.array(z.string())]).optional(),
hs_code: z.union([z.string(), z.array(z.string())]).optional(),
material: z.union([z.string(), z.array(z.string())]).optional(),
requires_shipping: OptionalBooleanValidator,
weight: createOperatorMap(z.number(), parseFloat).optional(),
length: createOperatorMap(z.number(), parseFloat).optional(),
height: createOperatorMap(z.number(), parseFloat).optional(),
width: createOperatorMap(z.number(), parseFloat).optional(),
$and: z.lazy(() => AdminGetInventoryItemsParams.array()).optional(),
$or: z.lazy(() => AdminGetInventoryItemsParams.array()).optional(),
})
)
})
.merge(
z.object({
q: z.string().optional(),
id: z.union([z.string(), z.array(z.string())]).optional(),
sku: z.union([z.string(), z.array(z.string())]).optional(),
origin_country: z.union([z.string(), z.array(z.string())]).optional(),
mid_code: z.union([z.string(), z.array(z.string())]).optional(),
hs_code: z.union([z.string(), z.array(z.string())]).optional(),
material: z.union([z.string(), z.array(z.string())]).optional(),
requires_shipping: OptionalBooleanValidator,
weight: createOperatorMap(z.number(), parseFloat).optional(),
length: createOperatorMap(z.number(), parseFloat).optional(),
height: createOperatorMap(z.number(), parseFloat).optional(),
width: createOperatorMap(z.number(), parseFloat).optional(),
location_levels: z
.object({
location_id: z.union([z.string(), z.array(z.string())]).optional(),
})
.optional(),
$and: z.lazy(() => AdminGetInventoryItemsParams.array()).optional(),
$or: z.lazy(() => AdminGetInventoryItemsParams.array()).optional(),
})
)
.strict()
export type AdminGetInventoryLocationLevelParamsType = z.infer<
typeof AdminGetInventoryLocationLevelParams

View File

@@ -46,7 +46,6 @@ export function validateAndTransformQuery<TEntity extends BaseEntity>(
try {
const allowed = (req.allowed ?? queryConfig.allowed ?? []) as string[]
delete req.allowed
const query = normalizeQuery(req)
const validated = await zodValidator(zodSchema, query)
const cnf = queryConfig.isList