refactor: revert to using middlewares.ts file (#8280)

This commit is contained in:
Harminder Virk
2024-07-25 17:16:38 +05:30
committed by GitHub
parent ccfbc0accf
commit 7f4b085964
7 changed files with 22 additions and 22 deletions
@@ -1,4 +1,4 @@
import { defineRoutesConfig } from "../utils/define-routes-config" import { defineMiddlewares } from "../utils/define-middlewares"
import { adminApiKeyRoutesMiddlewares } from "./admin/api-keys/middlewares" import { adminApiKeyRoutesMiddlewares } from "./admin/api-keys/middlewares"
import { adminCampaignRoutesMiddlewares } from "./admin/campaigns/middlewares" import { adminCampaignRoutesMiddlewares } from "./admin/campaigns/middlewares"
import { adminCollectionRoutesMiddlewares } from "./admin/collections/middlewares" import { adminCollectionRoutesMiddlewares } from "./admin/collections/middlewares"
@@ -50,7 +50,7 @@ import { storeReturnReasonRoutesMiddlewares } from "./store/return-reasons/middl
import { storeShippingOptionRoutesMiddlewares } from "./store/shipping-options/middlewares" import { storeShippingOptionRoutesMiddlewares } from "./store/shipping-options/middlewares"
import { adminReturnRoutesMiddlewares } from "./admin/returns/middlewares" import { adminReturnRoutesMiddlewares } from "./admin/returns/middlewares"
export default defineRoutesConfig([ export default defineMiddlewares([
...adminCustomerGroupRoutesMiddlewares, ...adminCustomerGroupRoutesMiddlewares,
...adminCustomerRoutesMiddlewares, ...adminCustomerRoutesMiddlewares,
...adminPromotionRoutesMiddlewares, ...adminPromotionRoutesMiddlewares,
@@ -1,6 +1,6 @@
import { defineRoutesConfig } from "../../../../../utils/define-routes-config" import { defineMiddlewares } from "../../../../../utils/define-middlewares"
export default defineRoutesConfig({ export default defineMiddlewares({
errorHandler: (err, _req, res, _next) => { errorHandler: (err, _req, res, _next) => {
const { code, message } = err const { code, message } = err
@@ -4,7 +4,7 @@ import {
customersGlobalMiddlewareMock, customersGlobalMiddlewareMock,
storeGlobalMiddlewareMock, storeGlobalMiddlewareMock,
} from "../mocks" } from "../mocks"
import { defineRoutesConfig } from "../../../../../utils/define-routes-config" import { defineMiddlewares } from "../../../../../utils/define-middlewares"
const customersGlobalMiddleware = ( const customersGlobalMiddleware = (
req: Request, req: Request,
@@ -29,7 +29,7 @@ const storeGlobal = (req: Request, res: Response, next: NextFunction) => {
next() next()
} }
export default defineRoutesConfig([ export default defineMiddlewares([
{ {
matcher: "/customers", matcher: "/customers",
middlewares: [customersGlobalMiddleware], middlewares: [customersGlobalMiddleware],
@@ -49,7 +49,7 @@ const AUTHTHENTICATE = "AUTHENTICATE"
/** /**
* File name for the global middlewares file * File name for the global middlewares file
*/ */
const ROUTES_CONFIG_FILENAME = "routes-config" const MIDDLEWARES_NAME = "middlewares"
const pathSegmentReplacer = { const pathSegmentReplacer = {
"\\[\\.\\.\\.\\]": () => `*`, "\\[\\.\\.\\.\\]": () => `*`,
@@ -216,7 +216,7 @@ export class RoutesLoader {
if (!config?.routes && !config?.errorHandler) { if (!config?.routes && !config?.errorHandler) {
log({ log({
activityId: this.activityId, activityId: this.activityId,
message: `Empty routes config. Skipping configuration.`, message: `Empty middleware config. Skipping middleware application.`,
}) })
return return
@@ -419,7 +419,7 @@ export class RoutesLoader {
}) { }) {
const files = await readdir(dirPath) const files = await readdir(dirPath)
const routesConfigFiles = files const middlewareFilePath = files
.filter((path) => { .filter((path) => {
if ( if (
this.excludes.length && this.excludes.length &&
@@ -431,18 +431,18 @@ export class RoutesLoader {
return true return true
}) })
.find((file) => { .find((file) => {
return file.replace(/\.[^/.]+$/, "") === ROUTES_CONFIG_FILENAME return file.replace(/\.[^/.]+$/, "") === MIDDLEWARES_NAME
}) })
if (!routesConfigFiles) { if (!middlewareFilePath) {
log({ log({
activityId: this.activityId, activityId: this.activityId,
message: `No routes config file found in ${dirPath}. Skipping configuration.`, message: `No middleware files found in ${dirPath}. Skipping middleware configuration.`,
}) })
return return
} }
const absolutePath = join(dirPath, routesConfigFiles) const absolutePath = join(dirPath, middlewareFilePath)
try { try {
await import(absolutePath).then((import_) => { await import(absolutePath).then((import_) => {
@@ -453,7 +453,7 @@ export class RoutesLoader {
if (!middlewaresConfig) { if (!middlewaresConfig) {
log({ log({
activityId: this.activityId, activityId: this.activityId,
message: `No routes config file found in ${absolutePath}. Skipping configuration.`, message: `No middleware configuration found in ${absolutePath}. Skipping middleware configuration.`,
}) })
return return
} }
@@ -476,7 +476,7 @@ export class RoutesLoader {
} catch (error) { } catch (error) {
log({ log({
activityId: this.activityId, activityId: this.activityId,
message: `Failed to load routes configuration from ${absolutePath}. Skipping configuration.`, message: `Failed to load middleware configuration in ${absolutePath}. Skipping middleware configuration.`,
}) })
return return
@@ -1,10 +1,10 @@
import zod from "zod" import zod from "zod"
import { defineRoutesConfig } from "../define-routes-config" import { defineMiddlewares } from "../define-middlewares"
import { MedusaRequest, MedusaResponse } from "../../types/routing" import { MedusaRequest, MedusaResponse } from "../../types/routing"
describe("defineRoutesConfig", function () { describe("defineMiddlewares", function () {
test("define custom middleware for a route", () => { test("define custom middleware for a route", () => {
const config = defineRoutesConfig([ const config = defineMiddlewares([
{ {
matcher: "/admin/products", matcher: "/admin/products",
middlewares: [() => {}], middlewares: [() => {}],
@@ -31,7 +31,7 @@ describe("defineRoutesConfig", function () {
brand_id: zod.string(), brand_id: zod.string(),
}) })
const config = defineRoutesConfig([ const config = defineMiddlewares([
{ {
matcher: "/admin/products", matcher: "/admin/products",
extendedValidators: { extendedValidators: {
@@ -65,7 +65,7 @@ describe("defineRoutesConfig", function () {
brand_id: zod.string(), brand_id: zod.string(),
}) })
const config = defineRoutesConfig([ const config = defineMiddlewares([
{ {
matcher: "/admin/products", matcher: "/admin/products",
extendedValidators: { extendedValidators: {
@@ -16,7 +16,7 @@ import {
* bodyparser config and validators to be merged with the pre-existing * bodyparser config and validators to be merged with the pre-existing
* route validators. * route validators.
*/ */
export function defineRoutesConfig< export function defineMiddlewares<
Route extends { Route extends {
method?: MiddlewareVerb | MiddlewareVerb[] method?: MiddlewareVerb | MiddlewareVerb[]
matcher: string | RegExp matcher: string | RegExp
+1 -1
View File
@@ -2,5 +2,5 @@ export * from "./clean-response-data"
export * from "./exception-formatter" export * from "./exception-formatter"
export * from "./middlewares" export * from "./middlewares"
export * from "./omit-deep" export * from "./omit-deep"
export * from "./define-routes-config" export * from "./define-middlewares"
export * from "./remove-undefined-properties" export * from "./remove-undefined-properties"