import { Middleware } from '@/web-controllers/middlewares/ports' import { Request, Response, NextFunction } from 'express' export const adaptMiddleware = (middleware: Middleware) => { return async (req: Request, res: Response, next: NextFunction) => { const request = { accessToken: req.headers['x-access-token'], // TODO o lugar de onde vem o user id não necessariamente será o body... requesterId: req.body.userId } const httpResponse = await middleware.handle(request) if (httpResponse.statusCode === 200) { Object.assign(req, httpResponse.body) next() } else { res.status(httpResponse.statusCode).json({ error: httpResponse.body.message }) } } }