update always inserting last array value

4 views
Skip to first unread message

BipinShukla

unread,
Apr 11, 2018, 6:45:40 AM4/11/18
to LoopbackJS
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
Reply all
Reply to author
Forward
0 new messages