fix(medusa): Only add Sales Channel relation + field when enabled (#3069)

This commit is contained in:
Oliver Windall Juhl
2023-01-19 18:26:10 +01:00
committed by GitHub
parent 8915abbacf
commit 9c2169422d
3 changed files with 32 additions and 23 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"@medusajs/medusa": patch
---
fix(medusa): Only add SC relation when enabled
@@ -30,20 +30,24 @@ describe("GET /admin/orders", () => {
expect(OrderServiceMock.retrieveWithTotals).toHaveBeenCalledWith( expect(OrderServiceMock.retrieveWithTotals).toHaveBeenCalledWith(
IdMap.getId("test-order"), IdMap.getId("test-order"),
{ {
select: defaultAdminOrdersFields.filter((field) => { // TODO [MEDUSA_FF_SALES_CHANNELS]: Remove when sales channel flag is removed entirely
return ![ select: [...defaultAdminOrdersFields, "sales_channel_id"].filter(
"shipping_total", (field) => {
"discount_total", return ![
"tax_total", "shipping_total",
"refunded_total", "discount_total",
"total", "tax_total",
"subtotal", "refunded_total",
"refundable_amount", "total",
"gift_card_total", "subtotal",
"gift_card_tax_total", "refundable_amount",
].includes(field) "gift_card_total",
}), "gift_card_tax_total",
relations: [...defaultAdminOrdersRelations], ].includes(field)
}
),
// TODO [MEDUSA_FF_SALES_CHANNELS]: Remove when sales channel flag is removed entirely
relations: [...defaultAdminOrdersRelations, "sales_channel"],
} }
) )
}) })
@@ -1,11 +1,8 @@
import { Router } from "express" import { Router } from "express"
import "reflect-metadata" import "reflect-metadata"
import { Order } from "../../../.." import { Order } from "../../../.."
import { import SalesChannelFeatureFlag from "../../../../loaders/feature-flags/sales-channels"
DeleteResponse, import { FindParams, PaginatedResponse } from "../../../../types/common"
FindParams,
PaginatedResponse,
} from "../../../../types/common"
import { FlagRouter } from "../../../../utils/flag-router" import { FlagRouter } from "../../../../utils/flag-router"
import middlewares, { import middlewares, {
transformBody, transformBody,
@@ -22,6 +19,12 @@ export default (app, featureFlagRouter: FlagRouter) => {
app.use("/orders", route) app.use("/orders", route)
const relations = [...defaultAdminOrdersRelations] const relations = [...defaultAdminOrdersRelations]
const defaultFields = [...defaultAdminOrdersFields]
if (featureFlagRouter.isFeatureEnabled(SalesChannelFeatureFlag.key)) {
relations.push("sales_channel")
defaultFields.push("sales_channel_id")
}
/** /**
* List orders * List orders
@@ -43,7 +46,7 @@ export default (app, featureFlagRouter: FlagRouter) => {
"/:id", "/:id",
transformQuery(FindParams, { transformQuery(FindParams, {
defaultRelations: relations, defaultRelations: relations,
defaultFields: defaultAdminOrdersFields.filter((field) => { defaultFields: defaultFields.filter((field) => {
return ![ return ![
"shipping_total", "shipping_total",
"discount_total", "discount_total",
@@ -333,7 +336,6 @@ export const defaultAdminOrdersRelations = [
"swaps.additional_items", "swaps.additional_items",
"swaps.fulfillments", "swaps.fulfillments",
"swaps.fulfillments.tracking_links", "swaps.fulfillments.tracking_links",
"sales_channel",
] ]
export const defaultAdminOrdersFields = [ export const defaultAdminOrdersFields = [
@@ -345,7 +347,6 @@ export const defaultAdminOrdersFields = [
"cart_id", "cart_id",
"draft_order_id", "draft_order_id",
"customer_id", "customer_id",
"sales_channel_id",
"email", "email",
"region_id", "region_id",
"currency_code", "currency_code",
@@ -379,7 +380,6 @@ export const filterableAdminOrdersFields = [
"customer_id", "customer_id",
"email", "email",
"region_id", "region_id",
"sales_channel_id",
"currency_code", "currency_code",
"tax_rate", "tax_rate",
"canceled_at", "canceled_at",