Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Parse.Cloud.define("getBestScores", function(request, response) {
- var bestQuery = new Parse.Query("HighScore");
- bestQuery.descending("score");
- bestQuery.limit(30);
- bestQuery.find({
- success: function(results) {
- var result = {};
- getPositionOfEmail(request.params.email, {
- success: function(before, score) {
- if (before != null) {
- result[(before.length + 1) + ";" + score] = results;
- response.success(result);
- } else {
- result["0;-1"] = results;
- response.success(result);
- }
- },
- error: function(object, error) {
- response.error(error);
- }
- });
- },
- error: function(object, error) {
- response.error(error);
- }
- });
- });
- function getPositionOfEmail(email, options) {
- var query = new Parse.Query("HighScore");
- query.equalTo("userEmail", email);
- query.find({
- success: function (results) {
- if (results != null) {
- var score = results[0].get("score");
- var scoreQuery = new Parse.Query("HighScore");
- scoreQuery.greaterThan("score", score);
- scoreQuery.find({
- success: function(better) {
- options.success(better, score);
- },
- error: function(object, error) {
- options.error(object, error);
- }
- });
- } else {
- options.success(null, 0);
- }
- },
- error: function(object, error) {
- options.error(object, error);
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement