feat: Replace existing router with the new implementation (#11646)

This commit is contained in:
Harminder Virk authored and GitHub committed 2025-03-04 17:22:20 +05:30
1 parent c2e24b6cfd
commit aabbbb7292
30 files changed
+992 -1320

No files matched your search

@@ -2,7 +2,7 @@ import {
validateAndTransformBody,
validateAndTransformQuery,
} from "@medusajs/framework"
import { MiddlewareRoute, unlessPath } from "@medusajs/framework/http"
import { MiddlewareRoute } from "@medusajs/framework/http"
import { DEFAULT_BATCH_ENDPOINTS_SIZE_LIMIT } from "../../../utils/middlewares"
import * as QueryConfig from "./query-config"
import {
@@ -116,12 +116,9 @@ export const adminInventoryRoutesMiddlewares: MiddlewareRoute[] = [
method: ["DELETE"],
matcher: "/admin/inventory-items/:id/location-levels/:location_id",
middlewares: [
unlessPath(
/.*\/location-levels\/batch/,
validateAndTransformQuery(
AdminGetInventoryItemParams,
QueryConfig.retrieveTransformQueryConfig
)
validateAndTransformQuery(
AdminGetInventoryItemParams,
QueryConfig.retrieveTransformQueryConfig
),
],
},
@@ -129,16 +126,10 @@ export const adminInventoryRoutesMiddlewares: MiddlewareRoute[] = [
method: ["POST"],
matcher: "/admin/inventory-items/:id/location-levels/:location_id",
middlewares: [
unlessPath(
/.*\/location-levels\/batch/,
validateAndTransformBody(AdminUpdateInventoryLocationLevel)
),
unlessPath(
/.*\/location-levels\/batch/,
validateAndTransformQuery(
AdminGetInventoryItemParams,
QueryConfig.retrieveTransformQueryConfig
)
validateAndTransformBody(AdminUpdateInventoryLocationLevel),
validateAndTransformQuery(
AdminGetInventoryItemParams,
QueryConfig.retrieveTransformQueryConfig
),
],
},
@@ -1,4 +1,4 @@
import { MiddlewareRoute, unlessPath } from "@medusajs/framework/http"
import { MiddlewareRoute } from "@medusajs/framework/http"
import {
validateAndTransformBody,
validateAndTransformQuery,
@@ -37,12 +37,9 @@ export const adminPaymentRoutesMiddlewares: MiddlewareRoute[] = [
method: ["GET"],
matcher: "/admin/payments/:id",
middlewares: [
unlessPath(
/.*\/payments\/payment-providers/,
validateAndTransformQuery(
AdminGetPaymentParams,
queryConfig.retrieveTransformQueryConfig
)
validateAndTransformQuery(
AdminGetPaymentParams,
queryConfig.retrieveTransformQueryConfig
),
],
},
@@ -3,11 +3,7 @@ import {
validateAndTransformBody,
validateAndTransformQuery,
} from "@medusajs/framework"
import {
maybeApplyLinkFilter,
MiddlewareRoute,
unlessPath,
} from "@medusajs/framework/http"
import { maybeApplyLinkFilter, MiddlewareRoute } from "@medusajs/framework/http"
import multer from "multer"
import { DEFAULT_BATCH_ENDPOINTS_SIZE_LIMIT } from "../../../utils/middlewares"
import { createBatchBody } from "../../utils/validators"
@@ -117,12 +113,9 @@ export const adminProductRoutesMiddlewares: MiddlewareRoute[] = [
method: ["GET"],
matcher: "/admin/products/:id",
middlewares: [
unlessPath(
/.*\/products\/(batch|export|import)/,
validateAndTransformQuery(
AdminGetProductParams,
QueryConfig.retrieveProductQueryConfig
)
validateAndTransformQuery(
AdminGetProductParams,
QueryConfig.retrieveProductQueryConfig
),
],
},
@@ -130,16 +123,10 @@ export const adminProductRoutesMiddlewares: MiddlewareRoute[] = [
method: ["POST"],
matcher: "/admin/products/:id",
middlewares: [
unlessPath(
/.*\/products\/(batch|export|import)/,
validateAndTransformBody(AdminUpdateProduct)
),
unlessPath(
/.*\/products\/(batch|export|import)/,
validateAndTransformQuery(
AdminGetProductParams,
QueryConfig.retrieveProductQueryConfig
)
validateAndTransformBody(AdminUpdateProduct),
validateAndTransformQuery(
AdminGetProductParams,
QueryConfig.retrieveProductQueryConfig
),
],
},
@@ -147,12 +134,9 @@ export const adminProductRoutesMiddlewares: MiddlewareRoute[] = [
method: ["DELETE"],
matcher: "/admin/products/:id",
middlewares: [
unlessPath(
/.*\/products\/(batch|export|import)/,
validateAndTransformQuery(
AdminGetProductParams,
QueryConfig.retrieveProductQueryConfig
)
validateAndTransformQuery(
AdminGetProductParams,
QueryConfig.retrieveProductQueryConfig
),
],
},
@@ -198,12 +182,9 @@ export const adminProductRoutesMiddlewares: MiddlewareRoute[] = [
method: ["GET"],
matcher: "/admin/products/:id/variants/:variant_id",
middlewares: [
unlessPath(
/.*\/variants\/batch/,
validateAndTransformQuery(
AdminGetProductVariantParams,
QueryConfig.retrieveVariantConfig
)
validateAndTransformQuery(
AdminGetProductVariantParams,
QueryConfig.retrieveVariantConfig
),
],
},
@@ -211,16 +192,10 @@ export const adminProductRoutesMiddlewares: MiddlewareRoute[] = [
method: ["POST"],
matcher: "/admin/products/:id/variants/:variant_id",
middlewares: [
unlessPath(
/.*\/variants\/batch/,
validateAndTransformBody(AdminUpdateProductVariant)
),
unlessPath(
/.*\/variants\/batch/,
validateAndTransformQuery(
AdminGetProductParams,
QueryConfig.retrieveProductQueryConfig
)
validateAndTransformBody(AdminUpdateProductVariant),
validateAndTransformQuery(
AdminGetProductParams,
QueryConfig.retrieveProductQueryConfig
),
],
},
@@ -228,12 +203,9 @@ export const adminProductRoutesMiddlewares: MiddlewareRoute[] = [
method: ["DELETE"],
matcher: "/admin/products/:id/variants/:variant_id",
middlewares: [
unlessPath(
/.*\/variants\/batch/,
validateAndTransformQuery(
AdminGetProductParams,
QueryConfig.retrieveProductQueryConfig
)
validateAndTransformQuery(
AdminGetProductParams,
QueryConfig.retrieveProductQueryConfig
),
],
},
@@ -2,7 +2,7 @@ import {
validateAndTransformBody,
validateAndTransformQuery,
} from "@medusajs/framework"
import { MiddlewareRoute, unlessPath } from "@medusajs/framework/http"
import { MiddlewareRoute } from "@medusajs/framework/http"
import { DEFAULT_BATCH_ENDPOINTS_SIZE_LIMIT } from "../../../utils/middlewares"
import { createBatchBody } from "../../utils/validators"
import * as QueryConfig from "./query-config"
@@ -65,12 +65,9 @@ export const adminPromotionRoutesMiddlewares: MiddlewareRoute[] = [
method: ["GET"],
matcher: "/admin/promotions/:id/:rule_type",
middlewares: [
unlessPath(
/.*\/promotions\/rule-attribute-options/,
validateAndTransformQuery(
AdminGetPromotionRuleTypeParams,
QueryConfig.retrieveTransformQueryConfig
)
validateAndTransformQuery(
AdminGetPromotionRuleTypeParams,
QueryConfig.retrieveTransformQueryConfig
),
],
},
@@ -44,18 +44,18 @@ export const adminWorkflowsExecutionsMiddlewares: MiddlewareRoute[] = [
},
{
method: ["POST"],
matcher: "/admin/workflows-executions/:id/run",
matcher: "/admin/workflows-executions/:workflow_id/run",
middlewares: [validateAndTransformBody(AdminCreateWorkflowsRun)],
},
{
method: ["POST"],
matcher: "/admin/workflows-executions/:id/steps/success",
matcher: "/admin/workflows-executions/:workflow_id/steps/success",
middlewares: [validateAndTransformBody(AdminCreateWorkflowsAsyncResponse)],
},
{
method: ["POST"],
matcher: "/admin/workflows-executions/:id/steps/failure",
matcher: "/admin/workflows-executions/:workflow_id/steps/failure",
middlewares: [validateAndTransformBody(AdminCreateWorkflowsAsyncResponse)],
},
]
+3 -3
View File
@@ -5,7 +5,7 @@ import {
MedusaResponse,
Query,
} from "@medusajs/framework"
import { ApiRoutesLoader } from "@medusajs/framework/http"
import { ApiLoader } from "@medusajs/framework/http"
import { Tracer } from "@medusajs/framework/telemetry"
import type { SpanExporter } from "@opentelemetry/sdk-trace-node"
import type { NodeSDKConfiguration } from "@opentelemetry/sdk-node"
@@ -66,7 +66,7 @@ export function instrumentHttpLayer() {
* Instrumenting the route handler to report traces to
* OpenTelemetry
*/
ApiRoutesLoader.traceRoute = (handler) => {
ApiLoader.traceRoute = (handler) => {
return async (req, res) => {
if (shouldExcludeResource(req.originalUrl)) {
return await handler(req, res)
@@ -95,7 +95,7 @@ export function instrumentHttpLayer() {
* Instrumenting the middleware handler to report traces to
* OpenTelemetry
*/
ApiRoutesLoader.traceMiddleware = (handler) => {
ApiLoader.traceMiddleware = (handler) => {
return async (
req: MedusaRequest<any>,
res: MedusaResponse,
+4 -7
View File
@@ -1,7 +1,7 @@
import { Express } from "express"
import { join } from "path"
import qs from "qs"
import { RoutesLoader } from "@medusajs/framework/http"
import { ApiLoader } from "@medusajs/framework/http"
import { MedusaContainer, PluginDetails } from "@medusajs/framework/types"
import { ConfigModule } from "@medusajs/framework/config"
@@ -39,13 +39,10 @@ export default async ({ app, container, plugins }: Options) => {
* "/products/:id" route.
*/
sourcePaths.push(
join(__dirname, "../api"),
...plugins.map((pluginDetails) => {
return join(pluginDetails.resolve, "api")
}),
/**
* Register the Medusa CORE API routes using the file based routing.
*/
join(__dirname, "../api")
})
)
const {
@@ -58,7 +55,7 @@ export default async ({ app, container, plugins }: Options) => {
// Adding this here temporarily
// Test: (packages/medusa/src/api/routes/admin/currencies/update-currency.ts)
try {
await new RoutesLoader({
await new ApiLoader({
app: app,
sourceDir: sourcePaths,
baseRestrictedFields: restrictedFields?.store,