I am new to JavaScript and I am trying to get my first bits of CloudCode working. I have created a helper function deleteFriendRequest
as I will want this to be used by other functions. What I have written works but I get an error thrown.
My helper function:
function deleteFriendRequest(requestObjectId) {
// create query to find FriendRequest from its objectId
var requestQuery = new Parse.Query("FriendRequest");
requestQuery.equalTo("objectId", requestObjectId);
return requestQuery.first().then(function(friendRequestObj) {
return friendRequestObj.destroy();
});
}
A function where it is used:
Parse.Cloud.define("createFriendship", function(request, response) {
Parse.Cloud.useMasterKey();
var currentUser = request.user;
var friendRequestId = request.params.friendRequestObjectId;
var fromUser;
var fromRelation;
var requestQuery = new Parse.Query("FriendRequest");
requestQuery.equalTo("objectId", friendRequestId);
requestQuery.include("fromUser");
requestQuery.first().then(function(friendRequestObj) {
fromUser = friendRequestObj.get("fromUser");
fromRelation = currentUser.relation("friendsRelation");
fromRelation.add(fromUser);
return currentUser.save();
}).then(function(friendRequestObj) {
var toRelation = fromUser.relation("friendsRelation");
toRelation.add(currentUser);
return fromUser.save();
}).then(deleteFriendRequest(friendRequestId))
.then(function(error) {
response.error(error);
});
});
When I run createFriendship
I get the following error:
Input: {"friendRequestObjectId":"qVIa9zzPR0"}
Result: TypeError: Object [object Object] has no method 'apply'
at e (Parse.js:2:8941)
at Parse.js:2:8390
at Array.forEach (native)
at Object.x.each.x.forEach [as _arrayEach] (Parse.js:1:661)
at c.extend.resolve (Parse.js:2:8341)
at Parse.js:2:9020
at e (Parse.js:2:8941)
at Parse.js:2:8390
at Array.forEach (native)
at Object.x.each.x.forEach [as _arrayEach] (Parse.js:1:661)
Thanks in advance for any help anyone can offer.