From 8b2de06d3ed94979fc681c87be71937c273dca4c Mon Sep 17 00:00:00 2001 From: Tania2607 <26tania513@gmail.com> Date: Mon, 28 Jul 2025 20:08:58 +0530 Subject: [PATCH] Fix: Normalize userId to integer in POST/PUT requests --- src/app.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/app.js b/src/app.js index d734af4..963d0b0 100644 --- a/src/app.js +++ b/src/app.js @@ -5,16 +5,32 @@ const data = require('../data.json') const app = jsonServer.create() const router = jsonServer.router(clone(data), { _isFake: true }) +// Reset state for each request (except root) app.use((req, res, next) => { if (req.path === '/') return next() router.db.setState(clone(data)) next() }) +// Middleware to normalize userId to integer in POST and PUT +app.use((req, res, next) => { + if ( + (req.method === 'POST' || req.method === 'PUT') && + req.body && + typeof req.body.userId === 'string' + ) { + const parsed = parseInt(req.body.userId, 10) + req.body.userId = isNaN(parsed) ? req.body.userId : parsed + } + next() +}) + +// Default middleware (logger, static, CORS, etc) app.use(jsonServer.defaults({ logger: process.env.NODE_ENV !== 'production' })) +// Use JSON Server router app.use(router) module.exports = app