Search code examples
node.jsparse-server

How to update user class data using parse server


I'm working with nodejs server-side and I need to update a property from user class when user verify his mobile number;

My code:

/****************** Initialization ***********************/
Parse.initialize("appid", "JscriptKey","masterKey");
Parse.serverURL = env.HOST_SERVER + env.PARSE_MOUNT+""

/******************* update user *****************/
router.post('/updateUser', async (request, res) => {
    let post_data = request.body;
    let phone = post_data.phoneNb;
    const currentUser = await Parse.User.logIn("myusername", "mypw");
    if(currentUser){
      var usersQuery = new Parse.Query(Parse.User);
      usersQuery.equalTo("phone", phone);
      var user = await usersQuery.first();
      console.log("Useresults:");
      console.log(user);
      user.set("isSmsVerified", true)
      user.save({useMasterKey : true}).then((gameScore) => {
        res.send('changes');
      }, (error) => {
        res.send(error);
      });
    }else{
      res.send('error')
    }
})

but when I try this code I got:

{ "message": "Cannot modify user XfcbZ9i9XK.", "code": 206 }

I know that the problem is on ACL access but I don't know how to solve it.


Solution

  • ok, I find a solution just I need to add {useMasterKey : true} to save() function like:

    user.save(null, {useMasterKey : true})