Advertisement
Guest User

Untitled

a guest
Jul 5th, 2015
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. Parse.Cloud.define("getBestScores", function(request, response) {
  3.     var bestQuery = new Parse.Query("HighScore");
  4.     bestQuery.descending("score");
  5.     bestQuery.limit(30);
  6.    
  7.     bestQuery.find({
  8.         success: function(results) {
  9.             var result = {};
  10.             getPositionOfEmail(request.params.email, {
  11.                 success: function(before, score) {
  12.                     if (before != null) {
  13.                         result[(before.length + 1) + ";" + score] = results;
  14.                         response.success(result);
  15.                     } else {
  16.                         result["0;-1"] = results;
  17.                         response.success(result);
  18.                     }
  19.                 },
  20.                 error: function(object, error) {
  21.                     response.error(error);
  22.                 }
  23.             });
  24.         },
  25.         error: function(object, error) {
  26.             response.error(error);
  27.         }
  28.     });
  29. });
  30.  
  31. function getPositionOfEmail(email, options) {
  32.     var query = new Parse.Query("HighScore");
  33.     query.equalTo("userEmail", email);
  34.     query.find({
  35.         success: function (results) {
  36.             if (results != null) {
  37.                 var score = results[0].get("score");
  38.                 var scoreQuery = new Parse.Query("HighScore");
  39.                 scoreQuery.greaterThan("score", score);
  40.                 scoreQuery.find({
  41.                     success: function(better) {
  42.                         options.success(better, score);
  43.                     },
  44.                     error: function(object, error) {
  45.                         options.error(object, error);
  46.                     }
  47.                 });
  48.             } else {
  49.                 options.success(null, 0);
  50.             }
  51.         },
  52.         error: function(object, error) {
  53.             options.error(object, error);
  54.         }
  55.     });
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement