Skip to content

Instantly share code, notes, and snippets.

@benjaminsnorris
Created November 21, 2014 01:17
Show Gist options
  • Save benjaminsnorris/746ae1a3589dcb2b8d59 to your computer and use it in GitHub Desktop.
Save benjaminsnorris/746ae1a3589dcb2b8d59 to your computer and use it in GitHub Desktop.
Parse Cloud Code Attempt
Parse.Cloud.define("inviteRecipientLogic", function(request, response) {
Parse.Cloud.useMasterKey();
var InviteRecipient = Parse.Object.extend("InviteRecipient");
var Invite = Parse.Object.extend("Invite");
var inviteRecipientQuery = new Parse.Query(InviteRecipient);
var userId = request.params.id;
var user = new Parse.User();
user.id = userId;
inviteRecipientQuery.equalTo("externalUser",user);
inviteRecipientQuery.include("invite");
inviteRecipientQuery.find({
success: function(inviteRecipients) {
var inviteRecipient = inviteRecipients[0];
console.log("InviteRecipient found");
console.log(inviteRecipient);
console.log("InviteRecipient accepted");
console.log(inviteRecipient.get("accepted"));
// inviteRecipient.set("externalUser",null); // How do you actually clear something out
console.log("inviteRecipient recipient");
console.log(inviteRecipient.recipient);
inviteRecipient.set("recipient",user);
console.log("inviteRecipient recipient");
console.log(inviteRecipient.recipient);
var inviteRecipientACL = inviteRecipient.getACL();
console.log("ACL:");
console.log(inviteRecipientACL);
inviteRecipientACL.setReadAccess(user, true);
inviteRecipientACL.setWriteAccess(user, true);
inviteRecipient.setACL(inviteRecipientACL);
inviteRecipient.save();
var invite = inviteRecipient.get("invite");
var inviteACL = invite.getACL();
inviteACL.setReadAccess(user, true);
invite.setACL(inviteACL);
invite.save();
response.success(inviteRecipient,invite);
if (!inviteRecipient) {
response.error("Error");
}
},
error: function(error) {
response.error(error);
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment