Вы можете использовать следующую структуру -
Маршруты -
router.post("/home/all", [Lib.verifyToken.loginInRequired] , Controller.userChatController.homeAll);
И Lib.verifyToken имеет следующий метод -
exports.loginInRequired = async function(request, response, next)
{
try{
var data = request.body;
data.userType = "User";
if (!data.accessToken)
return response.status(401).send({ success: -3, statusCode: 401, msg: response.trans("Your token has expired. Please login first")});
var userDevice = await Service.userDeviceService.userMiddlewareGet(data);
if(!userDevice)
return response.status(401).send({ success: -3, statusCode: 401, msg: response.trans("Your token has expired. Please login first")});
request.body.userDevice = userDevice;
request.body.createdAt = moment.utc().format("YYYY-MM-DD HH:mm:ss");
response.setLocale(userDevice.User.language);
next();
}
catch(e)
{
return response.status(500).json({ success: 0, statusCode: 500, msg: e.message});
}
};
Таким образом, вы можете добавить какстолько, сколько вам нужно промежуточного программного обеспечения или даже нет.