chore(): apply locale middleware to all store routes (#14305)
* chore(): apply locale middleware to all store routes * Create pink-papayas-brush.md
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
"@medusajs/medusa": patch
|
||||||
|
"@medusajs/framework": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
chore(): apply locale middleware to all store routes
|
||||||
@@ -25,6 +25,7 @@ export async function applyLocale(
|
|||||||
const queryLocale = req.query.locale as string | undefined
|
const queryLocale = req.query.locale as string | undefined
|
||||||
if (queryLocale) {
|
if (queryLocale) {
|
||||||
req.locale = normalizeLocale(queryLocale)
|
req.locale = normalizeLocale(queryLocale)
|
||||||
|
delete req.query.locale
|
||||||
return next()
|
return next()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import { Logger, MedusaContainer } from "@medusajs/types"
|
|||||||
import { join } from "path"
|
import { join } from "path"
|
||||||
import { configManager } from "../config"
|
import { configManager } from "../config"
|
||||||
import { MiddlewareFileLoader } from "./middleware-file-loader"
|
import { MiddlewareFileLoader } from "./middleware-file-loader"
|
||||||
import { authenticate, AuthType } from "./middlewares"
|
import { applyLocale, authenticate, AuthType } from "./middlewares"
|
||||||
import { createBodyParserMiddlewaresStack } from "./middlewares/bodyparser"
|
import { createBodyParserMiddlewaresStack } from "./middlewares/bodyparser"
|
||||||
import { ensurePublishableApiKeyMiddleware } from "./middlewares/ensure-publishable-api-key"
|
import { ensurePublishableApiKeyMiddleware } from "./middlewares/ensure-publishable-api-key"
|
||||||
import { errorHandler } from "./middlewares/error-handler"
|
import { errorHandler } from "./middlewares/error-handler"
|
||||||
@@ -406,6 +406,18 @@ export class ApiLoader {
|
|||||||
this.#app.use(namespace, middleware as RequestHandler)
|
this.#app.use(namespace, middleware as RequestHandler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#applyLocaleMiddleware(namespace: string) {
|
||||||
|
this.#logger.debug(
|
||||||
|
`Registering locale middleware for namespace ${namespace}`
|
||||||
|
)
|
||||||
|
let middleware = ApiLoader.traceMiddleware
|
||||||
|
? ApiLoader.traceMiddleware(applyLocale, {
|
||||||
|
route: namespace,
|
||||||
|
})
|
||||||
|
: applyLocale
|
||||||
|
this.#app.use(namespace, middleware as RequestHandler)
|
||||||
|
}
|
||||||
|
|
||||||
async load() {
|
async load() {
|
||||||
if (FeatureFlag.isFeatureEnabled("backend_hmr")) {
|
if (FeatureFlag.isFeatureEnabled("backend_hmr")) {
|
||||||
;(global as any).__MEDUSA_HMR_API_LOADER__ = this
|
;(global as any).__MEDUSA_HMR_API_LOADER__ = this
|
||||||
@@ -482,6 +494,8 @@ export class ApiLoader {
|
|||||||
*/
|
*/
|
||||||
this.#applyStorePublishableKeyMiddleware("/store")
|
this.#applyStorePublishableKeyMiddleware("/store")
|
||||||
|
|
||||||
|
this.#applyLocaleMiddleware("/store")
|
||||||
|
|
||||||
this.#applyAuthMiddleware(
|
this.#applyAuthMiddleware(
|
||||||
routesFinder,
|
routesFinder,
|
||||||
"/store",
|
"/store",
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { validateAndTransformQuery } from "@medusajs/framework"
|
import { validateAndTransformQuery } from "@medusajs/framework"
|
||||||
import {
|
import {
|
||||||
applyDefaultFilters,
|
applyDefaultFilters,
|
||||||
applyLocale,
|
|
||||||
applyParamsAsFilters,
|
applyParamsAsFilters,
|
||||||
authenticate,
|
authenticate,
|
||||||
clearFiltersByKey,
|
clearFiltersByKey,
|
||||||
@@ -64,10 +63,6 @@ async function applyMaybeLinkFilterIfNecessary(
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const storeProductRoutesMiddlewares: MiddlewareRoute[] = [
|
export const storeProductRoutesMiddlewares: MiddlewareRoute[] = [
|
||||||
{
|
|
||||||
matcher: "/store/products/*",
|
|
||||||
middlewares: [applyLocale],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
method: ["GET"],
|
method: ["GET"],
|
||||||
matcher: "/store/products",
|
matcher: "/store/products",
|
||||||
|
|||||||
Reference in New Issue
Block a user