I'm trying to inform all members of a group, including the owner of the group, of changes to the membership. I have:
// Group: owner
// Membership: group, member
Parse.Cloud.afterSave("Membership", function(request) {
var group = request.object;
var owner = group("owner"); // I need to reference below in callback
var q = new Parse.Query("Membership");
q.equalTo("group", group);
q.find().then(
function(memberships) {
var members = new Array;
// include the owner in our push.
members.push(owner); // <--- badness?
var len = memberships.length;
for (var i=0; i<len; ++i) {
if (i in memberships) {
var membership = memberships[i];
var member = membership.get("member");
members.push(member);
}
}
var push = new Parse.Query(Parse.Installation);
push.containedIn("members",members);
// send the push, etc
},
function(error) { ... }
);
});
Yes, I've considered making the owner a member, and that may be the better way, but here I am. How can I reference the owner of the group from inside the query success callback? Restructuring this afterSave() is easier than restructuring my model.