I\'ve got an API up on node using pg-promise for Postgres, this works well but i\'m thinking about how to modify the PUT statement to handle NULLS in the input a little bett
Alternative solution:
function updateFoo(req, res){
let {name, email, password} = req.body;
// Ex: req.body = { name: 'foo', password: 'bar' }
let data = { name, email, password }; // {name: 'foo', email:undefined, password:'bar}
//Remove ONLY undefined keys from data
Object.keys(data).forEach( key => { if(data[key] === undefined) delete data[key] });
let query = 'UPDATE foo SET';
let i = 1;
Object.keys(data).forEach( key => { query += ` ${key}=$${index},`; i++; })
query = query.slice(0, -1) // Remove exceeding comma
query += ` WHERE id=$${i}`;
let values = Object.values(data); // ['foo', 'bar']
values.push(req.params.id);
// .....
// query = 'UPDATE foo SET name=$1, password=$2 WHERE id=$3'
// values = ['foo', 'bar', req.params.id]