0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-24 16:22:44 +00:00

adjust frontend error handling, add client/server mismatch middleware

This commit is contained in:
Charlie Humphreys
2023-01-06 21:29:21 -06:00
parent 67a76f9d86
commit 385bee964d
12 changed files with 221 additions and 297 deletions

View File

@@ -336,6 +336,7 @@ If you believe you should have access to this brew, ask the file owner to invite
}
};
router.use('/api', require('./middleware.js').versionMismatch);
router.post('/api', asyncHandler(api.newBrew));
router.put('/api/:id', asyncHandler(api.getBrew('edit', true)), asyncHandler(api.updateBrew));
router.put('/api/update/:id', asyncHandler(api.getBrew('edit', true)), asyncHandler(api.updateBrew));

17
server/middleware.js Normal file
View File

@@ -0,0 +1,17 @@
const middleware = {
versionMismatch : (req, res, next)=>{
const userVersion = req.get('Homebrewery-Version');
const version = require('./../package.json').version;
if(userVersion != version) {
console.warn(`Version mismatch -- expected: ${version}, actual: ${userVersion}`);
return res.status(412).send({
message : `Client version ${userVersion} is out of date. Please save your changes elsewhere and refresh to pick up client version ${version}.`
});
}
next();
}
};
module.exports = middleware;