refactor(medusa): Migrate middlewares to ts (#1469)
This commit is contained in:
committed by
GitHub
parent
d98cd85d23
commit
63bf684e66
@@ -1,12 +1,12 @@
|
||||
import passport from "passport"
|
||||
import { Request, Response, NextFunction, RequestHandler } from "express"
|
||||
|
||||
export default () => {
|
||||
// Always go to next
|
||||
return (req, res, next) => {
|
||||
export default (): RequestHandler => {
|
||||
return (req: Request, res: Response, next: NextFunction): void => {
|
||||
passport.authenticate(
|
||||
["jwt", "bearer"],
|
||||
{ session: false },
|
||||
(err, user, info) => {
|
||||
(err, user) => {
|
||||
if (err) {
|
||||
return next(err)
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
import passport from "passport"
|
||||
|
||||
export default () => {
|
||||
return (req, res, next) => {
|
||||
passport.authenticate(["jwt", "bearer"], { session: false })(req, res, next)
|
||||
}
|
||||
}
|
||||
8
packages/medusa/src/api/middlewares/authenticate.ts
Normal file
8
packages/medusa/src/api/middlewares/authenticate.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import passport from "passport"
|
||||
import { Request, Response, NextFunction, RequestHandler } from "express"
|
||||
|
||||
export default (): RequestHandler => {
|
||||
return (req: Request, res: Response, next: NextFunction): void => {
|
||||
passport.authenticate(["jwt", "bearer"], { session: false })(req, res, next)
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
export default (fn) =>
|
||||
(...args) =>
|
||||
fn(...args).catch(args[2])
|
||||
9
packages/medusa/src/api/middlewares/await-middleware.ts
Normal file
9
packages/medusa/src/api/middlewares/await-middleware.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { NextFunction, Request, RequestHandler, Response } from "express"
|
||||
|
||||
type handler = (req: Request, res: Response) => Promise<void>
|
||||
|
||||
export default (fn: handler): RequestHandler => {
|
||||
return (req: Request, res: Response, next: NextFunction) => {
|
||||
return fn(req, res).catch(next)
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
import { MedusaError } from "medusa-core-utils"
|
||||
import { NextFunction, Request, Response } from "express"
|
||||
import { Logger } from "../../types/global"
|
||||
|
||||
const QUERY_RUNNER_RELEASED = "QueryRunnerAlreadyReleasedError"
|
||||
const TRANSACTION_STARTED = "TransactionAlreadyStartedError"
|
||||
@@ -9,8 +11,8 @@ const INVALID_REQUEST_ERROR = "invalid_request_error"
|
||||
const INVALID_STATE_ERROR = "invalid_state_error"
|
||||
|
||||
export default () => {
|
||||
return (err, req, res, next) => {
|
||||
const logger = req.scope.resolve("logger")
|
||||
return (err: MedusaError, req: Request, res: Response, next: NextFunction) => {
|
||||
const logger: Logger = req.scope.resolve("logger")
|
||||
logger.error(err)
|
||||
|
||||
const errorType = err.type || err.name
|
||||
@@ -1,16 +0,0 @@
|
||||
export default () => {
|
||||
return (req, res, next) => {
|
||||
const clean = Object.entries(req.query).reduce((acc, [key, val]) => {
|
||||
if (Array.isArray(val) && val.length === 1) {
|
||||
acc[key] = val[0].split(",")
|
||||
} else {
|
||||
acc[key] = val
|
||||
}
|
||||
return acc
|
||||
}, {})
|
||||
|
||||
req.query = clean
|
||||
|
||||
next()
|
||||
}
|
||||
}
|
||||
24
packages/medusa/src/api/middlewares/normalized-query.ts
Normal file
24
packages/medusa/src/api/middlewares/normalized-query.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { NextFunction, Request, Response } from "express"
|
||||
|
||||
/**
|
||||
* Normalize an input query, especially from array like query params to an array type
|
||||
* e.g: /admin/orders/?fields[]=id,status,cart_id becomes { fields: ["id", "status", "cart_id"] }
|
||||
*/
|
||||
export default (): ((
|
||||
req: Request,
|
||||
res: Response,
|
||||
next: NextFunction
|
||||
) => void) => {
|
||||
return (req: Request, res: Response, next: NextFunction): void => {
|
||||
req.query = Object.entries(req.query).reduce((acc, [key, val]) => {
|
||||
if (Array.isArray(val) && val.length === 1) {
|
||||
acc[key] = (val as string[])[0].split(",")
|
||||
} else {
|
||||
acc[key] = val
|
||||
}
|
||||
return acc
|
||||
}, {})
|
||||
|
||||
next()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user