I am creating a new CloudCode function in parse to retrieve the total number of users in the database. I managed to achieve this by doing this:
Parse.Cloud.define("getUsers", function(request, response) {
var users = Parse.Object.extend("_User");
var query = new Parse.Query(users);
query.find({
success: function(numberOfUsers) {
response.success(numberOfUsers.length);
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});
});
Now, I want to use the total number of users to set a parameter in my Parse User. I thought defining a private function (pretty much the same as the one shown above) that returns that number so I can call it in my other cloud function, like this:
Parse.Cloud.define("signUp", function(request, response) {
var user = new Parse.User();
user.set("username", request.params.username);
user.set("password", request.params.password);
//setting empty fields
...
user.set("alias", "user#" + numberOfUsers());
user.signUp(null, {
success: function(user) {
response.success(user);
},
error: function(user, error) {
alert("Error: " + error.code + " " + error.message);
}
});
});
function numberOfUsers() {
var users = Parse.Object.extend("_User");
var query = new Parse.Query(users);
query.find({
success: function(numberOfUsers) {
return numberOfUsers.length;
},
error: function(error) {
return 0;
}
});
}
but this doesn't work for some reason. The function numberOfUsers() returns empty. I see some other people have problems with using parse objects in private functions as well, I found the same question in the Parse dashboard without answer... https://parse.com/questions/how-to-define-helper-method-in-cloud-code Anyone knows how to achieve this? Thank you!