i m new to node and search a lot find solution but don't know how to use with my condition if anyone pro who can help me with this thing
Permissiontb.assembleAndInsert = async (ctx, cb) => {
for (let i = 0; i < ctx.req.body.view.length; i++) {
console.log('outside i '+i)
await Process(ctx,i);
}
};
function Process(ctx,i) {
let data={company_id:ctx.args.options.accessToken.userId,
userid:ctx.req.body.userid,
perpage:ctx.req.body.perpage[i].id,
view:ctx.req.body.view[i],
edit:ctx.req.body.edit[i],
update:ctx.req.body.update[i],
delete:ctx.req.body.delete[i]}
console.log('inside '+i)
return new Promise((resolve, reject) => {
Permissiontb.find({where:{and: [{userid:ctx.req.body.userid}, {perpage:ctx.req.body.perpage[i].id}] }},function(err,result){
if(err){
var err = new Error('Some thing went wrong');
err.statusCode = 444;
console.log('err'+err)
resolve(err)
}else{ console.log(result.length)
if(result.length>0){
console.log(ctx.req.body.userid)
console.log('page id '+ctx.req.body.perpage[i].id)
const pgid=ctx.req.body.perpage[i].id
const vd=ctx.req.body.view[i]
const ed=ctx.req.body.edit[i]
const up=ctx.req.body.update[i]
const del=ctx.req.body.delete[i]
console.log(ctx.req.body.view[i])
console.log(ctx.req.body.edit[i])
console.log(ctx.req.body.update[i])
console.log(ctx.req.body.delete[i])
console.log('findinside update '+i)
resolve(Permissiontb.updateAll({where:{and: [{userid:ctx.req.body.userid}, {perpage:pgid}] }},{view:vd,edit:ed,update:up,delete:del}))
}else{
resolve(Permissiontb.create([data]))
}
}
})
})
}
now problem is that console log inside if(result.lenght>0) condition for eg:- console.log(ctx.req.body.view[i]) correct value getting but when update method always inserting last array value can anyone tell me what i m doing wrong