awaitdb.query('update '+endpoint.endpoint+' set '+all_filled_fields.map((field,i)=>field+"=$"+(i+1)).join(",")+' where name=$'+(all_filled_fields.length+1)+' returning *',[...all_filled_fields.map((field)=>req.body[field]),req.body["name"]])
awaitdb.query('update '+endpoint.endpoint+' set '+all_filled_fields.map((field,i)=>{
if(Number.isNaN(Number(req.body[field]))){returnfield+"=(select id from "+field.replace("_id","")+" where name=$"+(i+1)+")"}else{returnfield+"=$"+(i+1)}
}}).join(",")+' where name=$'+(all_filled_fields.length+1)+' returning *',[...all_filled_fields.map((field)=>req.body[field]),req.body["name"]])
.then((data)=>{
.then((data)=>{
if(data.rows.length===0){
if(data.rows.length===0){
requiresInsert=true
requiresInsert=true
@ -472,14 +475,69 @@ function CreateDynamicEndpoints() {
})
})
}
}
if(requiresInsert){
if(requiresInsert){
db.query('insert into '+endpoint.endpoint+"("+all_filled_fields.join(',')+") values("+all_filled_fields.map((field,i)=>"$"+(i+1)).join(",")+") returning *",all_filled_fields.map((field)=>req.body[field]))
db.query('insert into '+endpoint.endpoint+"("+all_filled_fields.join(',')+") values("+all_filled_fields.map((field,i)=>{
if(!field.includes("_id")){return"$"+(i+1)}else{
if(Number.isNaN(Number(req.body[field]))){return"(select id from "+field.replace("_id","")+" where name=$"+(i+1)+")"}else{return"$"+(i+1)}
if(Number.isNaN(Number(req.body[field]))){returnfield+"=(select id from "+field.replace("_id","")+" where name=$"+(i+1)+")"}else{returnfield+"=$"+(i+1)}
}}).join(",")+' where name=$'+(all_filled_fields.length+1)+' returning *',[...all_filled_fields.map((field)=>req.body[field]),req.body["name"]])
.then((data)=>{
if(data.rows.length===0){
requiresInsert=true
}else{
requiresInsert=false
res.status(200).json(data.rows)
}
})
.catch((err)=>{
res.status(500).send(err.message)
})
}
if(requiresInsert){
db.query('insert into '+endpoint.endpoint+"("+all_filled_fields.join(',')+") values("+all_filled_fields.map((field,i)=>{
if(!field.includes("_id")){return"$"+(i+1)}else{
if(Number.isNaN(Number(req.body[field]))){return"(select id from "+field.replace("_id","")+" where name=$"+(i+1)+")"}else{return"$"+(i+1)}