diff --git a/integration-tests/http/__tests__/product/admin/product.spec.ts b/integration-tests/http/__tests__/product/admin/product.spec.ts index 0765a8702d..1894de34a8 100644 --- a/integration-tests/http/__tests__/product/admin/product.spec.ts +++ b/integration-tests/http/__tests__/product/admin/product.spec.ts @@ -1081,7 +1081,7 @@ medusaIntegrationTestRunner({ const variants = ( await api.get( - `/admin/products/${product.id}/variants?fields=%2Binventory_quantity`, + `/admin/products/${product.id}/variants?fields=+inventory_quantity`, adminHeaders ) ).data.variants diff --git a/integration-tests/modules/__tests__/order/order.spec.ts b/integration-tests/modules/__tests__/order/order.spec.ts index bd4f4a90c5..6c7a07017d 100644 --- a/integration-tests/modules/__tests__/order/order.spec.ts +++ b/integration-tests/modules/__tests__/order/order.spec.ts @@ -126,7 +126,7 @@ medusaIntegrationTestRunner({ const response = await api.get( "/admin/orders/" + created.id + - "?fields=%2Braw_total,%2Braw_subtotal,%2Braw_discount_total", + "?fields=+raw_total,+raw_subtotal,+raw_discount_total", adminHeaders ) diff --git a/packages/medusa/src/utils/get-query-config.ts b/packages/medusa/src/utils/get-query-config.ts index af387c8735..4b930e1c79 100644 --- a/packages/medusa/src/utils/get-query-config.ts +++ b/packages/medusa/src/utils/get-query-config.ts @@ -1,3 +1,4 @@ +import { RequestQueryFields } from "@medusajs/types" import { getSetDifference, isDefined, @@ -6,7 +7,6 @@ import { stringToSelectRelationObject, } from "@medusajs/utils" import { pick } from "lodash" -import { RequestQueryFields } from "@medusajs/types" import { FindConfig, QueryConfig } from "../types/common" export function pickByConfig( @@ -60,15 +60,17 @@ export function prepareListQuery( return !( field.startsWith("-") || field.startsWith("+") || + field.startsWith(" ") || field.startsWith("*") ) }) + if (shouldReplaceDefaultFields) { - allFields = new Set(customFields.map((f) => f.replace(/^[+-]/, ""))) + allFields = new Set(customFields.map((f) => f.replace(/^[+ -]/, ""))) } else { customFields.forEach((field) => { - if (field.startsWith("+")) { - allFields.add(field.replace(/^\+/, "")) + if (field.startsWith("+") || field.startsWith(" ")) { + allFields.add(field.trim().replace(/^\+/, "")) } else if (field.startsWith("-")) { allFields.delete(field.replace(/^-/, "")) } else {