Noah Labhart
Noah Labhart

Reputation: 157

Parse Cloud Code beforeSave not running on update

I have defined a Parse Cloud Code function for beforeSave below.

Parse.Cloud.beforeSave(Parse.User, function(request, response) {
  Parse.Cloud.useMasterKey();

  var publicACL = new Parse.ACL();
  publicACL.setPublicReadAccess(true);
  publicACL.setPublicWriteAccess(true);

  request.object.setACL(publicACL);

  response.success();
});

This code runs correctly whenever I save a new Parse.User. However, when I try to update a pre-existing Parse.User, the code does not execute. Any thoughts? Below is the code I am using to update my user.

function updateStudentTypes(id, studentType, chkBox) {

var query = new Parse.Query(Parse.User);
query.get(id, {
  success: function(user) {
    var typeList = user.get("studentType");

    if(!chkBox.checked)
      typeList = removeStudentType(typeList, studentType);
    else
      typeList = addStudentType(typeList, studentType);

    user.set("studentType", typeList);
    user.save(null, {
      success: function(user) {
        //alert('New object created with objectId: ' + user.id);
      },
      error: function(user, error) {
        alert('Failed to update user: ' + error.message);
      }
    }); 

  },
  error: function(object, error) {
    alert("Error querying user: " + error);
  }
});

}

Upvotes: 0

Views: 502

Answers (1)

hybrdthry911
hybrdthry911

Reputation: 1269

Add this to the beginning of your updateStudent method:

Parse.Cloud.useMasterKey();

Edit: I thought your code was cloud code, not client side javascript.

Upvotes: 1

Related Questions