Advertisement
Guest User

Untitled

a guest
Sep 21st, 2015
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // require('cloud/app.js');
  2. var Mandrill = require('mandrill');
  3. Mandrill.initialize('0DQc3dS1JHa7ShAmAdeqww');
  4. // Use Parse.Cloud.define to define as many cloud functions as you want.
  5. // For example:
  6. Parse.Cloud.define("hello", function(request, response) {
  7.   response.success("Hello world!");
  8. });
  9.    
  10.    
  11. Parse.Cloud.define("addRelations", function(request, response)  {
  12.    
  13.                 var tempArrayOfObjects = request.params.arrayPassed;
  14.    
  15.                 var arrayToSave = [];
  16.    
  17.                 for (var k = 0, len = tempArrayOfObjects.length; k < len; k++) {
  18.                 var objectToSave = tempArrayOfObjects[k];
  19.                 var viewer = request.params.user;
  20.                 var relation = objectToSave.relation("viewers");
  21.    
  22.                 relation.add(viewer);
  23.    
  24.                 arrayToSave.push(objectToSave);
  25.                    
  26.                 // objectToSave.save();
  27.    
  28.                 }
  29.    
  30.                 Parse.Object.saveAll (arrayToSave, {
  31.    
  32.                     success: function(objects){
  33.                         response.success("Relations Set");
  34.                     },
  35.                     error: function (objects, error) {
  36.                         response.success("error in relation");
  37.                     }
  38.    
  39.                 })
  40.    
  41.     // response.success("Relations Set");
  42.                    
  43.    
  44.    
  45. });
  46.    
  47. Parse.Cloud.define("standardQuery11", function(request, response)  {
  48.    
  49.     var newGender = request.params.gender;
  50.    
  51.     var query = new Parse.Query("garmentsAPI");
  52.     if (request.params.gender !== "both") {
  53.     query.equalTo ("gender", request.params.gender);
  54.     };
  55.     query.notEqualTo ("viewers", request.params.user);
  56.    
  57.     var limitInteger = 30;
  58.    
  59.     query.limit = limitInteger;
  60.    
  61.     var garments = new Array();
  62.    
  63.     query.count({
  64.    
  65.         success: function(objectsInQuery){
  66.    
  67.             var numberOfQueries = (objectsInQuery / limitInteger);
  68.    
  69.             if (objectsInQuery % limitInteger !== 0) {
  70.                 numberOfQueries = numberOfQueries + 1;
  71.             };
  72.    
  73.             numberOfQueries = parseInt(numberOfQueries);
  74.    
  75.             var randomInteger = Math.floor (Math.random()*(numberOfQueries+1));
  76.    
  77.             var randomIntegerIndex = randomInteger * limitInteger;
  78.    
  79.             query.greaterThan ("index", randomIntegerIndex);
  80.    
  81.         query.find ({
  82.         success: function(results){
  83.    
  84.             var tempArrayOfObjects = new Array();
  85.    
  86.             for (var i = 0; i < 16; i++) {
  87.    
  88.                 var limitIntegerPlusOne = limitInteger + 1;
  89.    
  90.                 var randomTempNumber = Math.floor (Math.random()*limitIntegerPlusOne);
  91.    
  92.                 var itemToAdd = results[randomTempNumber];
  93.    
  94.                 tempArrayOfObjects.push(itemToAdd);
  95.             };
  96.    
  97.             response.success(tempArrayOfObjects);
  98.                    
  99.    
  100.         },
  101.         error:function() {
  102.    
  103.    
  104.                 Parse.Cloud.run("followOnTwoQuery",{"gender" : "Women"},{
  105.                 success: function(results) {
  106.  
  107.                         response.success(results);
  108.  
  109.                 },
  110.                 error: function(results, error) {
  111.  
  112.  
  113.                 response.error ("error of chaining followOnTwoQuery 1");
  114.  
  115.                 }
  116.                  });
  117.    
  118.         }
  119.    
  120.    
  121.     });
  122.    
  123.             // response.success("There are " + objectsInQuery + "objects in the query and number of queries is" + numberOfQueries + " and random integer is " + randomInteger);
  124.    
  125.             },
  126.         error:function() {
  127.  
  128.                 Parse.Cloud.run("followOnTwoQuery",{"gender" : "women"},{
  129.                 success: function(results) {
  130.  
  131.                         response.success(results);
  132.  
  133.                 },
  134.                 error: function(results, error) {
  135.  
  136.  
  137.                 response.error ("error of chaining followOnTwoQuery 2");
  138.  
  139.                 }
  140.   });
  141.  
  142.    
  143.         }
  144.            
  145.    
  146.     });
  147.    
  148.      
  149. });
  150.  
  151.  
  152. // Parse.Cloud.define("standardQuery", function(request, response)  {
  153.    
  154.    
  155.    
  156. //     var query = new Parse.Query("garmentsAPI");
  157. //     if (request.params.gender !== "both") {
  158. //     query.equalTo ("gender", request.params.gender);
  159. //     };
  160. //     query.notEqualTo ("viewers", request.params.user);
  161.    
  162.        
  163. //     query.limit(9);
  164.    
  165. //     var garments = new Array();
  166.    
  167. //     query.find({
  168.    
  169. //         success: function(objectsInQuery){
  170.    
  171. //             response.success(objectsInQuery);
  172.    
  173. //             },
  174. //         error:function() {
  175.    
  176. //             response.error ("query failed");
  177. //         }
  178.            
  179.    
  180. //     });
  181.    
  182.      
  183. // });
  184.    
  185.  
  186.  //OriginalFirstTimeShuffle
  187. // Parse.Cloud.define("firstTimeQuery", function(request, response)  {
  188.    
  189.    
  190.    
  191. //     var query = new Parse.Query("garmentsAPI");
  192. //     if (request.params.gender !== "both") {
  193. //     query.equalTo ("gender", request.params.gender);
  194. //     };
  195. //     query.notEqualTo ("viewers", request.params.user);
  196.    
  197.        
  198. //     query.limit = 50;
  199.    
  200. //     var garments = new Array();
  201.    
  202. //     query.count({
  203.    
  204. //         success: function(objectsInQuery){
  205.    
  206. //             var numberOfQueries = (objectsInQuery / 50);
  207.    
  208. //             if (objectsInQuery % 50 !== 0) {
  209. //                 numberOfQueries = numberOfQueries + 1;
  210. //             };
  211.    
  212. //             numberOfQueries = parseInt(numberOfQueries);
  213.    
  214. //             var randomInteger = Math.floor (Math.random()*(numberOfQueries+1));
  215.    
  216. //             var randomIntegerIndex = randomInteger * 50;
  217.    
  218. //             query.greaterThan ("index", randomIntegerIndex);
  219.    
  220. //         query.find ({
  221. //         success: function(results){
  222.    
  223. //             var tempArrayOfObjects = new Array();
  224.    
  225. //             for (var i = 0; i < 7; i++) {
  226. //                 var randomTempNumber = Math.floor (Math.random()*51);
  227.    
  228. //                 var itemToAdd = results[randomTempNumber];
  229.    
  230. //                 tempArrayOfObjects.push(itemToAdd);
  231. //             };
  232.    
  233. //             response.success(tempArrayOfObjects);
  234.                    
  235.    
  236. //         },
  237. //         error:function() {
  238.    
  239.    
  240. //             response.error ("lookup failed");
  241.    
  242. //         }
  243.    
  244.    
  245. //     });
  246.    
  247. //             // response.success("There are " + objectsInQuery + "objects in the query and number of queries is" + numberOfQueries + " and random integer is " + randomInteger);
  248.    
  249. //             },
  250. //         error:function() {
  251.    
  252. //             response.error ("count has failed");
  253. //         }
  254.            
  255.    
  256. //     });
  257.    
  258.      
  259. // });
  260.  
  261. Parse.Cloud.define("testStandardQuery", function(request, response)  {
  262.    
  263.    
  264.    
  265.     var query = new Parse.Query("garmentsAPI");
  266.     // if (request.params.gender !== "both") {
  267.     // query.equalTo ("gender", request.params.gender);
  268.     // };
  269.     query.equalTo ("gender", "Men" && "gender", "Women");
  270.     query.notEqualTo ("viewers", request.params.user);
  271.    
  272.     var limitInteger = 30;
  273.    
  274.     query.limit = limitInteger;
  275.    
  276.     var garments = new Array();
  277.    
  278.     query.count({
  279.    
  280.         success: function(objectsInQuery){
  281.    
  282.             var numberOfQueries = (objectsInQuery / limitInteger);
  283.    
  284.             if (objectsInQuery % limitInteger !== 0) {
  285.                 numberOfQueries = numberOfQueries + 1;
  286.             };
  287.    
  288.             numberOfQueries = parseInt(numberOfQueries);
  289.    
  290.             var randomInteger = Math.floor (Math.random()*(numberOfQueries+1));
  291.    
  292.             var randomIntegerIndex = randomInteger * limitInteger;
  293.    
  294.             query.greaterThan ("index", randomIntegerIndex);
  295.    
  296.         query.find ({
  297.         success: function(results){
  298.    
  299.             var tempArrayOfObjects = new Array();
  300.    
  301.             for (var i = 0; i < 16; i++) {
  302.    
  303.                 var limitIntegerPlusOne = limitInteger + 1;
  304.    
  305.                 var randomTempNumber = Math.floor (Math.random()*limitIntegerPlusOne);
  306.    
  307.                 var itemToAdd = results[randomTempNumber];
  308.    
  309.                 tempArrayOfObjects.push(itemToAdd);
  310.             };
  311.    
  312.             response.success(tempArrayOfObjects);
  313.                    
  314.    
  315.         },
  316.         error:function() {
  317.    
  318.    
  319.             response.error ("lookup failed");
  320.    
  321.         }
  322.    
  323.    
  324.     });
  325.    
  326.             // response.success("There are " + objectsInQuery + "objects in the query and number of queries is" + numberOfQueries + " and random integer is " + randomInteger);
  327.    
  328.             },
  329.         error:function() {
  330.  
  331.             response.error ("in error bit");
  332.    
  333.                 // var query = new Parse.Query("garmentsAPI");
  334.                 // if (request.params.gender !== "both") {
  335.                 // query.equalTo ("gender", request.params.gender);
  336.                 // };
  337.                 // query.notEqualTo ("viewers", request.params.user);
  338.    
  339.        
  340.                 // query.limit(9);
  341.    
  342.                 // var garments = new Array();
  343.    
  344.                 // query.find({
  345.    
  346.                 //     success: function(objectsInQuery){
  347.    
  348.                 //         response.success(objectsInQuery);
  349.    
  350.                 //     },
  351.                 //     error:function() {
  352.    
  353.                 //         response.error ("error query failed");
  354.                 // }
  355.            
  356.    
  357.                 //     });
  358.         }
  359.            
  360.    
  361.     });
  362.    
  363.      
  364. });
  365.  
  366. // Parse.Cloud.define("firstTimeNewQuery", function(request, response)  {
  367.  
  368. //                 response.error ("in error bit");
  369.    
  370. //                 var query = new Parse.Query("garmentsAPI");
  371. //                 if (request.params.gender !== "both") {
  372. //                 query.equalTo ("gender", request.params.gender);
  373. //                 };
  374. //                 query.notEqualTo ("viewers", request.params.user);
  375.    
  376.        
  377. //                 query.limit(9);
  378.    
  379. //                 var garments = new Array();
  380.    
  381. //                 query.find({
  382.    
  383. //                     success: function(objectsInQuery){
  384.    
  385. //                         response.success(objectsInQuery);
  386.    
  387. //                     },
  388. //                     error:function() {
  389.    
  390. //                         response.error ("error query failed");
  391. //                 }
  392.            
  393.    
  394. //                     });
  395.  
  396. //     };
  397.  
  398.  
  399.  
  400. Parse.Cloud.define("firstTimeNewQuery", function(request, response)  {
  401.    
  402.    
  403.    
  404.     var query = new Parse.Query("garmentsAPI");
  405.     if (request.params.gender !== "both") {
  406.     query.equalTo ("gender", request.params.gender);
  407.     };
  408.     // query.notEqualTo ("viewers", request.params.user);
  409.    
  410.        
  411.     // query.limit = 25;
  412.    
  413.     var garments = new Array();
  414.    
  415.     query.count({
  416.    
  417.         success: function(objectsInQuery){
  418.    
  419.             var numberOfQueries = (objectsInQuery / 25);
  420.    
  421.             if (objectsInQuery % 25 !== 0) {
  422.                 numberOfQueries = numberOfQueries + 1;
  423.             };
  424.    
  425.             numberOfQueries = parseInt(numberOfQueries);
  426.    
  427.             var randomInteger = Math.floor (Math.random()*(numberOfQueries+1));
  428.    
  429.             var randomIntegerIndex = randomInteger * 25;
  430.    
  431.             query.greaterThan ("index", randomIntegerIndex);
  432.    
  433.         query.find ({
  434.         success: function(results){
  435.    
  436.             var tempArrayOfObjects = new Array();
  437.    
  438.             for (var i = 0; i < 7; i++) {
  439.                 var randomTempNumber = Math.floor (Math.random()*26);
  440.    
  441.                 var itemToAdd = results[randomTempNumber];
  442.    
  443.                 tempArrayOfObjects.push(itemToAdd);
  444.             };
  445.    
  446.             response.success(tempArrayOfObjects);
  447.                    
  448.    
  449.         },
  450.         error:function() {
  451.    
  452.             response.error ("lookup failed");
  453.    
  454.         }
  455.    
  456.    
  457.     });
  458.    
  459.             // response.success("There are " + objectsInQuery + "objects in the query and number of queries is" + numberOfQueries + " and random integer is " + randomInteger);
  460.    
  461.             },
  462.         error:function() {
  463.  
  464.             // response.error(Parse.cloud.run ("firstTimeSimpleQuery"));
  465.    
  466.             // Parse.cloud.run ("firstTimeSimpleQuery");
  467.  
  468.             response.error (Parse.error);
  469.         }
  470.            
  471.    
  472.     });
  473.    
  474.      
  475. });
  476.    
  477.    
  478. Parse.Cloud.define("firstTimeQuery11", function(request, response)  {
  479.    
  480.     var newGender2 = request.params.gender;
  481.    
  482.     var query = new Parse.Query("garmentsAPI");
  483.     if (request.params.gender !== "both") {
  484.     query.equalTo ("gender", request.params.gender);
  485.     };
  486.     query.notEqualTo ("viewers", request.params.user);
  487.    
  488.        
  489.     query.limit(9);
  490.    
  491.     var garments = new Array();
  492.    
  493.     query.find({
  494.    
  495.         success: function(objectsInQuery){
  496.    
  497.             response.success(objectsInQuery);
  498.    
  499.             },
  500.         error:function() {
  501.  
  502.                 Parse.Cloud.run("followOnTwoQuery",{"gender" : newGender2},{
  503.                 success: function(results) {
  504.  
  505.                         response.success(results);
  506.  
  507.                 },
  508.                 error: function(results, error) {
  509.  
  510.  
  511.                 response.error ("error of chaining followOnTwoQuery");
  512.  
  513.                 }
  514.                  });
  515.    
  516.  
  517.         }
  518.            
  519.    
  520.     });
  521.    
  522.      
  523. });
  524. Parse.Cloud.define("testQuery", function(request, response) {
  525.  
  526.   var newGender = request.params.gender;
  527.  
  528.   Parse.Cloud.run("followOnTwoQuery",{"gender" : "Women"},{
  529.     success: function(results) {
  530.  
  531.       response.success(results);
  532.  
  533.     },
  534.     error: function(results, error) {
  535.  
  536.  
  537.          response.error ("error of testQuery");
  538.  
  539.     }
  540.   });
  541.  
  542. });
  543.  
  544. Parse.Cloud.define("followOnTwoQuery", function(request, response)  {
  545.  
  546.    
  547.     var query = new Parse.Query("garmentsAPI");
  548.     if (request.params.gender !== "both") {
  549.     query.equalTo ("gender", request.params.gender);
  550.     };
  551.     // query.notEqualTo ("viewers", request.params.user);
  552.  
  553.     var randomIndexNo = Math.floor((Math.random()*150000)+1);
  554.  
  555.     query.greaterThan ("index", randomIndexNo);
  556.    
  557.     query.limit(9);
  558.    
  559.     var garments = new Array();
  560.    
  561.     query.find({
  562.    
  563.         success: function(objectsInQuery){
  564.    
  565.             response.success(objectsInQuery);
  566.    
  567.             },
  568.         error:function() {
  569.    
  570.             response.error ("followontwoquery failed");
  571.         }
  572.            
  573.    
  574.     });
  575.    
  576.      
  577. });
  578.  
  579. Parse.Cloud.define("followOnQuery", function(request, response)  {
  580.    
  581.     var userID = request.params.user;
  582.  
  583.     // var followOnUser;
  584.  
  585.     var queryUser = new Parse.Query("user");
  586.     query.get(userID, {
  587.   success: function(followOnUser) {
  588.     // The object was retrieved successfully.
  589.   },
  590.   error: function(object, error) {
  591.     // The object was not retrieved successfully.
  592.     // error is a Parse.Error with an error code and description.
  593.   }
  594. });
  595.  
  596.  
  597.     // var followOnUser = request.object.get (userID);
  598.  
  599.     // var user = request.object.get("user");
  600.    
  601.     var query = new Parse.Query("garmentsAPI");
  602.     // if (request.params.gender !== "both") {
  603.     // query.equalTo ("gender", request.params.gender);
  604.     // };
  605.     // query.notEqualTo ("viewers", request.params.user);
  606.    
  607.        
  608.     query.limit(9);
  609.    
  610.     var garments = new Array();
  611.    
  612.     query.find({
  613.    
  614.         success: function(objectsInQuery){
  615.    
  616.             response.success(objectsInQuery);
  617.    
  618.             },
  619.         error:function() {
  620.    
  621.             response.error ("query failed");
  622.         }
  623.            
  624.    
  625.     });
  626.    
  627.      
  628. });
  629.  
  630. Parse.Cloud.define("firstTimeQuery22", function(request, response)  {
  631.  
  632. var maxIndex = 150000;
  633.  
  634. var arrayOfRandomNumbers = new Array();
  635.  
  636. for (var k = 0; k < 35; k++) {
  637.  
  638.     var randomIndex =  Math.floor((Math.random()*maxIndex)+1);
  639.  
  640.     // var randomIndex =  15;
  641.  
  642.     arrayOfRandomNumbers.push(randomIndex);
  643.  
  644. }
  645.  
  646.  
  647. var query = new Parse.Query("garmentsAPI");
  648.  
  649.     query.containedIn("index", arrayOfRandomNumbers);
  650.     if (request.params.gender !== "both") {
  651.     query.equalTo ("gender", request.params.gender);
  652.     };
  653.     query.notEqualTo ("viewers", request.params.user);
  654.  
  655.     query.find({
  656.  
  657.     success: function(objectsInQuery){
  658.  
  659.         if (objectsInQuery.length > 9) {
  660.  
  661.             var arrayOSelectedObjects = new Array();
  662.  
  663.             for (var j = 0; j < 9; j++) {
  664.              
  665.                 arrayOSelectedObjects.push(objectsInQuery[j]);
  666.  
  667.             }
  668.  
  669.             response.success(arrayOSelectedObjects);
  670.  
  671.         } else{
  672.                 // var existingCount = objectsInQuery.count;
  673.                 var missingIndex = 9 - objectsInQuery.length;
  674.  
  675.  
  676.                 // missingIndex = missingIndex - objectsInQuery.count;
  677.  
  678.                 var query = new Parse.Query("garmentsAPI");
  679.                 if (request.params.gender !== "both") {
  680.                 query.equalTo ("gender", request.params.gender);
  681.                 };
  682.                 query.notEqualTo ("viewers", request.params.user);
  683.      
  684.        
  685.                 query.limit(missingIndex);
  686.                 // query.limit = 9 - objectsInQuery.count;
  687.    
  688.    
  689.                 query.find({
  690.  
  691.                success: function(objectsInQuery2){
  692.  
  693.                 if ((objectsInQuery.length + objectsInQuery2.length) === 9) {
  694.  
  695.  
  696.                     for (var l = 0; l < missingIndex; l++) {
  697.  
  698.                         objectsInQuery.push(objectsInQuery2[l]);
  699.  
  700.                     }
  701.    
  702.                     response.success(objectsInQuery);
  703.  
  704.  
  705.                 } else {
  706.  
  707.  
  708.  
  709.                     //who knows
  710.  
  711.                     var maxIndex2 = 150000;
  712.  
  713.                     var arrayOfRandomNumbers2 = new Array();
  714.  
  715.                     for (var m = 0; m < 9; m++) {
  716.  
  717.                     var randomIndex =  Math.floor((Math.random()*maxIndex)+1);
  718.  
  719.                     // var randomIndex =  15;
  720.  
  721.                     arrayOfRandomNumbers2.push(randomIndex);
  722.  
  723.                     }
  724.  
  725.                      
  726.                     var query = new Parse.Query("garmentsAPI");
  727.                     query.containedIn("index", arrayOfRandomNumbers2);
  728.                     if (request.params.gender !== "both") {
  729.                     query.equalTo ("gender", request.params.gender);
  730.                     };
  731.                     // query.notEqualTo ("viewers", request.params.user);
  732.      
  733.        
  734.                     query.limit(9);
  735.  
  736.                     query.find ({
  737.  
  738.  
  739.                         success: function (objectsInQuery3){
  740.  
  741.                             response.success (objectsInQuery3);
  742.                         },
  743.  
  744.                         error:function() {
  745.  
  746.                             response.error("there was an error");
  747.                         }
  748.  
  749.  
  750.                     });
  751.  
  752.  
  753.                 };
  754.  
  755.  
  756.    
  757.                     },
  758.                 error:function() {
  759.  
  760.             response.error ("didn't work");
  761.  
  762.                 }
  763.  
  764.             }
  765.  
  766.                 );
  767.  
  768.  
  769.  
  770.         };
  771.    
  772.              
  773.    
  774.             },
  775.         error:function() {
  776.  
  777.             response.error ("didn't work");
  778.  
  779.         }
  780.  
  781.         });
  782.  
  783. });
  784.  
  785. Parse.Cloud.define("firstTimeQuery", function(request, response)  {
  786.  
  787. var maxIndex = 91811;
  788. var maxWomenIndex = 122309;
  789. var maxMenIndex = 80811;
  790.  
  791. var arrayOfRandomNumbers = new Array();
  792.  
  793. var query = new Parse.Query("garmentsAPI");
  794.  
  795.     if (request.params.gender === "Female") {
  796.  
  797.         //arrayOfRandoms draws on womenIndex, gender set to female
  798.  
  799.         for (var k = 0; k < 35; k++) {
  800.  
  801.             var randomIndex =  Math.floor((Math.random()*maxWomenIndex)+1);
  802.  
  803.             arrayOfRandomNumbers.push(randomIndex);
  804.  
  805.                 }
  806.         query.containedIn("womenIndex", arrayOfRandomNumbers);
  807.         query.notEqualTo ("viewers", request.params.user);
  808.  
  809.  
  810.     }else if (request.params.gender === "Male") {
  811.  
  812.         for (var k = 0; k < 35; k++) {
  813.  
  814.             var randomIndex =  Math.floor((Math.random()*maxMenIndex)+1);
  815.  
  816.             arrayOfRandomNumbers.push(randomIndex);
  817.  
  818.                 }
  819.  
  820.         query.containedIn("menIndex", arrayOfRandomNumbers);
  821.         query.notEqualTo ("viewers", request.params.user);
  822.  
  823.         //arrayOfRandoms draws on menIndex, gender set to male
  824.  
  825.     }else{
  826.  
  827.         for (var k = 0; k < 35; k++) {
  828.  
  829.             var randomIndex =  Math.floor((Math.random()*maxIndex)+1);
  830.  
  831.             arrayOfRandomNumbers.push(randomIndex);
  832.  
  833.                 }
  834.  
  835.         query.containedIn("index", arrayOfRandomNumbers);
  836.         query.notEqualTo ("viewers", request.params.user);
  837.  
  838.     };
  839.  
  840.      
  841.     if (request.params.gender !== "both") {
  842.     query.equalTo ("gender", request.params.gender);
  843.     };
  844.      
  845.  
  846.     query.find({
  847.  
  848.     success: function(objectsInQuery){
  849.  
  850.         if (objectsInQuery.length > 9) {
  851.  
  852.             var arrayOSelectedObjects = new Array();
  853.  
  854.             for (var j = 0; j < 9; j++) {
  855.              
  856.                 arrayOSelectedObjects.push(objectsInQuery[j]);
  857.  
  858.             }
  859.  
  860.             response.success(arrayOSelectedObjects);
  861.  
  862.         } else{
  863.                 // var existingCount = objectsInQuery.count;
  864.                 var missingIndex = 9 - objectsInQuery.length;
  865.  
  866.  
  867.                 // missingIndex = missingIndex - objectsInQuery.count;
  868.  
  869.                 var query = new Parse.Query("garmentsAPI");
  870.                 if (request.params.gender !== "both") {
  871.                 query.equalTo ("gender", request.params.gender);
  872.                 };
  873.                 query.notEqualTo ("viewers", request.params.user);
  874.      
  875.        
  876.                 query.limit(missingIndex);
  877.                 // query.limit = 9 - objectsInQuery.count;
  878.    
  879.    
  880.                 query.find({
  881.  
  882.                success: function(objectsInQuery2){
  883.  
  884.                 if ((objectsInQuery.length + objectsInQuery2.length) === 9) {
  885.  
  886.  
  887.                     for (var l = 0; l < missingIndex; l++) {
  888.  
  889.                         objectsInQuery.push(objectsInQuery2[l]);
  890.  
  891.                     }
  892.    
  893.                     response.success(objectsInQuery);
  894.  
  895.  
  896.                 } else {
  897.  
  898.  
  899.  
  900.                     //who knows
  901.  
  902.                     var maxIndex2 = 150000;
  903.  
  904.                     var arrayOfRandomNumbers2 = new Array();
  905.  
  906.                     for (var m = 0; m < 9; m++) {
  907.  
  908.                     var randomIndex =  Math.floor((Math.random()*maxIndex)+1);
  909.  
  910.                     // var randomIndex =  15;
  911.  
  912.                     arrayOfRandomNumbers2.push(randomIndex);
  913.  
  914.                     }
  915.  
  916.                      
  917.                     var query = new Parse.Query("garmentsAPI");
  918.                     query.containedIn("index", arrayOfRandomNumbers2);
  919.                     if (request.params.gender !== "both") {
  920.                     query.equalTo ("gender", request.params.gender);
  921.                     };
  922.                     // query.notEqualTo ("viewers", request.params.user);
  923.      
  924.        
  925.                     query.limit(9);
  926.  
  927.                     query.find ({
  928.  
  929.  
  930.                         success: function (objectsInQuery3){
  931.  
  932.                             response.success (objectsInQuery3);
  933.                         },
  934.  
  935.                         error:function() {
  936.  
  937.                             response.error("there was an error");
  938.                         }
  939.  
  940.  
  941.                     });
  942.  
  943.  
  944.                 };
  945.  
  946.  
  947.    
  948.                     },
  949.                 error:function() {
  950.  
  951.             response.error ("didn't work");
  952.  
  953.                 }
  954.  
  955.             }
  956.  
  957.                 );
  958.  
  959.  
  960.  
  961.         };
  962.    
  963.              
  964.    
  965.             },
  966.         error:function() {
  967.  
  968.             response.error ("didn't work");
  969.  
  970.         }
  971.  
  972.         });
  973.  
  974. });
  975.  
  976.  
  977. Parse.Cloud.define("standardQuery22", function(request, response)  {
  978.  
  979. var maxIndex = 150000;
  980.  
  981. var arrayOfRandomNumbers = new Array();
  982.  
  983. for (var k = 0; k < 40; k++) {
  984.  
  985.     var randomIndex =  Math.floor((Math.random()*maxIndex)+1);
  986.  
  987.     // var randomIndex =  15;
  988.  
  989.     arrayOfRandomNumbers.push(randomIndex);
  990.  
  991. }
  992.  
  993.  
  994. var query = new Parse.Query("garmentsAPI");
  995.  
  996.     query.containedIn("index", arrayOfRandomNumbers);
  997.     if (request.params.gender !== "both") {
  998.     query.equalTo ("gender", request.params.gender);
  999.     };
  1000.     query.notEqualTo ("viewers", request.params.user);
  1001.  
  1002.     query.find({
  1003.  
  1004.     success: function(objectsInQuery){
  1005.  
  1006.         if (objectsInQuery.length > 15) {
  1007.  
  1008.             var arrayOSelectedObjects = new Array();
  1009.  
  1010.             for (var j = 0; j < 15; j++) {
  1011.              
  1012.                 arrayOSelectedObjects.push(objectsInQuery[j]);
  1013.  
  1014.             }
  1015.  
  1016.             response.success(arrayOSelectedObjects);
  1017.  
  1018.         } else{
  1019.                 // var existingCount = objectsInQuery.count;
  1020.                 var missingIndex = 15 - objectsInQuery.length;
  1021.  
  1022.  
  1023.                 // missingIndex = missingIndex - objectsInQuery.count;
  1024.  
  1025.                 var query = new Parse.Query("garmentsAPI");
  1026.                 if (request.params.gender !== "both") {
  1027.                 query.equalTo ("gender", request.params.gender);
  1028.                 };
  1029.                 query.notEqualTo ("viewers", request.params.user);
  1030.      
  1031.        
  1032.                 query.limit(missingIndex);
  1033.                 // query.limit = 9 - objectsInQuery.count;
  1034.    
  1035.    
  1036.                 query.find({
  1037.  
  1038.                success: function(objectsInQuery2){
  1039.  
  1040.                 if ((objectsInQuery.length + objectsInQuery2.length) === 15) {
  1041.  
  1042.  
  1043.                     for (var l = 0; l < missingIndex; l++) {
  1044.  
  1045.                         objectsInQuery.push(objectsInQuery2[l]);
  1046.  
  1047.                     }
  1048.    
  1049.                     response.success(objectsInQuery);
  1050.  
  1051.  
  1052.                 } else {
  1053.  
  1054.  
  1055.  
  1056.                     //who knows
  1057.  
  1058.                      
  1059.                     var maxIndex2 = 150000;
  1060.  
  1061.                     var arrayOfRandomNumbers2 = new Array();
  1062.  
  1063.                     for (var m = 0; m < 15; m++) {
  1064.  
  1065.                     var randomIndex =  Math.floor((Math.random()*maxIndex)+1);
  1066.  
  1067.                     // var randomIndex =  15;
  1068.  
  1069.                     arrayOfRandomNumbers2.push(randomIndex);
  1070.  
  1071.                     }
  1072.  
  1073.                      
  1074.                     var query = new Parse.Query("garmentsAPI");
  1075.                     query.containedIn("index", arrayOfRandomNumbers2);
  1076.                     if (request.params.gender !== "both") {
  1077.                     query.equalTo ("gender", request.params.gender);
  1078.                     };
  1079.                     // query.notEqualTo ("viewers", request.params.user);
  1080.      
  1081.        
  1082.                     query.limit(15);
  1083.  
  1084.                     query.find ({
  1085.  
  1086.  
  1087.                         success: function (objectsInQuery3){
  1088.  
  1089.                             response.success (objectsInQuery3);
  1090.                         },
  1091.  
  1092.                         error:function() {
  1093.  
  1094.                             response.error("there was an error");
  1095.                         }
  1096.  
  1097.  
  1098.                     });
  1099.  
  1100.  
  1101.                 };
  1102.  
  1103.  
  1104.    
  1105.                     },
  1106.                 error:function() {
  1107.  
  1108.             response.error ("didn't work");
  1109.  
  1110.                 }
  1111.  
  1112.             }
  1113.  
  1114.                 );
  1115.  
  1116.  
  1117.  
  1118.         };
  1119.    
  1120.              
  1121.    
  1122.             },
  1123.         error:function() {
  1124.  
  1125.             response.error ("didn't work");
  1126.  
  1127.         }
  1128.  
  1129.         });
  1130.  
  1131. });
  1132.  
  1133. Parse.Cloud.define("standardQuery", function(request, response)  {
  1134.  
  1135. var maxIndex = 91811;
  1136. var maxWomenIndex = 122309;
  1137. var maxMenIndex = 80811;
  1138.  
  1139. var arrayOfRandomNumbers = new Array();
  1140.  
  1141. var query = new Parse.Query("garmentsAPI");
  1142.  
  1143.     if (request.params.gender === "Female") {
  1144.  
  1145.         //arrayOfRandoms draws on womenIndex, gender set to female
  1146.  
  1147.         for (var k = 0; k < 40; k++) {
  1148.  
  1149.             var randomIndex =  Math.floor((Math.random()*maxWomenIndex)+1);
  1150.  
  1151.             arrayOfRandomNumbers.push(randomIndex);
  1152.  
  1153.                 }
  1154.         query.containedIn("womenIndex", arrayOfRandomNumbers);
  1155.         query.notEqualTo ("viewers", request.params.user);
  1156.  
  1157.  
  1158.     }else if (request.params.gender === "Male") {
  1159.  
  1160.         for (var k = 0; k < 35; k++) {
  1161.  
  1162.             var randomIndex =  Math.floor((Math.random()*maxMenIndex)+1);
  1163.  
  1164.             arrayOfRandomNumbers.push(randomIndex);
  1165.  
  1166.                 }
  1167.  
  1168.         query.containedIn("menIndex", arrayOfRandomNumbers);
  1169.         query.notEqualTo ("viewers", request.params.user);
  1170.  
  1171.         //arrayOfRandoms draws on menIndex, gender set to male
  1172.  
  1173.     }else{
  1174.  
  1175.         for (var k = 0; k < 35; k++) {
  1176.  
  1177.             var randomIndex =  Math.floor((Math.random()*maxIndex)+1);
  1178.  
  1179.             arrayOfRandomNumbers.push(randomIndex);
  1180.  
  1181.                 }
  1182.  
  1183.         query.containedIn("index", arrayOfRandomNumbers);
  1184.         query.notEqualTo ("viewers", request.params.user);
  1185.  
  1186.     };
  1187.  
  1188.      
  1189.     if (request.params.gender !== "both") {
  1190.     query.equalTo ("gender", request.params.gender);
  1191.     };
  1192.  
  1193.     query.find({
  1194.  
  1195.     success: function(objectsInQuery){
  1196.  
  1197.         if (objectsInQuery.length > 15) {
  1198.  
  1199.             var arrayOSelectedObjects = new Array();
  1200.  
  1201.             for (var j = 0; j < 15; j++) {
  1202.              
  1203.                 arrayOSelectedObjects.push(objectsInQuery[j]);
  1204.  
  1205.             }
  1206.  
  1207.             response.success(arrayOSelectedObjects);
  1208.  
  1209.         } else{
  1210.                 // var existingCount = objectsInQuery.count;
  1211.                 var missingIndex = 15 - objectsInQuery.length;
  1212.  
  1213.  
  1214.                 // missingIndex = missingIndex - objectsInQuery.count;
  1215.  
  1216.                 var query = new Parse.Query("garmentsAPI");
  1217.                 if (request.params.gender !== "both") {
  1218.                 query.equalTo ("gender", request.params.gender);
  1219.                 };
  1220.                 query.notEqualTo ("viewers", request.params.user);
  1221.      
  1222.        
  1223.                 query.limit(missingIndex);
  1224.                 // query.limit = 9 - objectsInQuery.count;
  1225.    
  1226.    
  1227.                 query.find({
  1228.  
  1229.                success: function(objectsInQuery2){
  1230.  
  1231.                 if ((objectsInQuery.length + objectsInQuery2.length) === 15) {
  1232.  
  1233.  
  1234.                     for (var l = 0; l < missingIndex; l++) {
  1235.  
  1236.                         objectsInQuery.push(objectsInQuery2[l]);
  1237.  
  1238.                     }
  1239.    
  1240.                     response.success(objectsInQuery);
  1241.  
  1242.  
  1243.                 } else {
  1244.  
  1245.  
  1246.  
  1247.                     //who knows
  1248.  
  1249.                      
  1250.                     var maxIndex2 = 15000;
  1251.  
  1252.                     var arrayOfRandomNumbers2 = new Array();
  1253.  
  1254.                     for (var m = 0; m < 15; m++) {
  1255.  
  1256.                     var randomIndex =  Math.floor((Math.random()*maxIndex)+1);
  1257.  
  1258.                     // var randomIndex =  15;
  1259.  
  1260.                     arrayOfRandomNumbers2.push(randomIndex);
  1261.  
  1262.                     }
  1263.  
  1264.                      
  1265.                     var query = new Parse.Query("garmentsAPI");
  1266.                     query.containedIn("index", arrayOfRandomNumbers2);
  1267.                     if (request.params.gender !== "both") {
  1268.                     query.equalTo ("gender", request.params.gender);
  1269.                     };
  1270.                     // query.notEqualTo ("viewers", request.params.user);
  1271.      
  1272.        
  1273.                     query.limit(15);
  1274.  
  1275.                     query.find ({
  1276.  
  1277.  
  1278.                         success: function (objectsInQuery3){
  1279.  
  1280.                             response.success (objectsInQuery3);
  1281.                         },
  1282.  
  1283.                         error:function() {
  1284.  
  1285.                             response.error("there was an error");
  1286.                         }
  1287.  
  1288.  
  1289.                     });
  1290.  
  1291.  
  1292.                 };
  1293.  
  1294.  
  1295.    
  1296.                     },
  1297.                 error:function() {
  1298.  
  1299.             response.error ("didn't work");
  1300.  
  1301.                 }
  1302.  
  1303.             }
  1304.  
  1305.                 );
  1306.  
  1307.  
  1308.  
  1309.         };
  1310.    
  1311.              
  1312.    
  1313.             },
  1314.         error:function() {
  1315.  
  1316.             response.error ("didn't work");
  1317.  
  1318.         }
  1319.  
  1320.         });
  1321.  
  1322. });
  1323.  
  1324. Parse.Cloud.afterSave("_User", function(request) {
  1325.  
  1326. var Mandrill = require('mandrill');
  1327. Mandrill.initialize('12AkG8ijJNp74_RVhkrZEg');
  1328.  
  1329.  
  1330. if (!request.object.existed()) {
  1331.  
  1332.  
  1333.     // var email = request.object.get ("email");
  1334.     var email = "peterneill@hotmail.com";
  1335.     // var name = "string";
  1336.  
  1337.     var newFirstName;
  1338.  
  1339.     // (typeof myVar != 'undefined')
  1340.  
  1341.     while (request.object.get("first_name") === 'undefined'){
  1342.         newFirstName = request.object.get("first_name");
  1343.     }
  1344.  
  1345.     newFirstName = request.object.get("first_name");
  1346.  
  1347.     // for (var m = 0; m < 10000000; m++) {
  1348.     //     newFirstName = request.object.get("first_name");
  1349.     // }
  1350.     // var firstName = request.object.get("authData");
  1351.  
  1352.  
  1353.  
  1354.     // var user = request.object;
  1355.     // var authorityData = user.get("authData");
  1356.     // var facebookInfo = authorityData.facebook;
  1357.  
  1358.         if (email.length > 0) {
  1359.  
  1360.     Mandrill.sendEmail({
  1361. message: {
  1362. html: "<html><b>Welcome to Stashd</b><br><br>Hey " +newFirstName+",<br><br>It is lovely to e-meet you! My names Jessica and I'm the Co-Founder of Stashd.<br><br>I am touching base to welcome you to Stashd App, we look forward to filling your Stash (and hopefully wardrobe!) full of luxury items!<br><br>I\’m sure you have figured out the \"Stash\" and \"Trash\" process by now, although if you do have any queries, opinions or reviews in regards to Stashd we at Stashd are always welcoming of our users feedback.<br><br>Happy Stashing,<br>Jessica Wilson<br>Co-Founder, <a href='http://stashdapp.com'>Stashd</a><br><br><br><img style='width:25%;' src='http://stashdapp.com/stashdLogoLarge.png'></html> ",
  1363. // text: "Text goes here",
  1364. subject: "Welcome to Stashd!",
  1365. from_email: "jessica@stashdapp.com",
  1366. from_name: "Jessica, Co-Founder of Stashd",
  1367. to: [
  1368. {
  1369. email: email,
  1370. name: newFirstName
  1371. }
  1372. ]
  1373. },
  1374. async: true
  1375. },{
  1376. success: function(httpResponse) {
  1377. console.log(httpResponse);
  1378. response.success("Email sent!");
  1379. },
  1380. error: function(httpResponse) {
  1381. console.error(httpResponse);
  1382. response.error("Uh oh, something went wrong");
  1383. }
  1384. });
  1385.  
  1386. }
  1387.  
  1388.     // if (email.length > 0) {
  1389.  
  1390.  
  1391.                 // Mandrill.sendEmail({
  1392.                 // message: {
  1393.                 // html: "<p>Example HTML content</p>",
  1394.                 // text: "Example text content".
  1395.                 // subject: "Thank you for Joining Foogi :)",
  1396.                 // from_email: "jessica@stashdapp.com",
  1397.                 //     from_name: "Jessica, co-founder of Stashd",
  1398.                 // to: [
  1399.                 //     {
  1400.                 // email: email,
  1401.                 // name:  name
  1402.                 // }
  1403.                 // ]
  1404.                 // },
  1405.                 // async: true
  1406.                 //     },{
  1407.                 // success: function(httpResponse) {
  1408.                 // console.log(httpResponse);
  1409.                 // response.success("Email sent!");
  1410.                 // },
  1411.                 // error: function(httpResponse) {
  1412.                 // console.error(httpResponse);
  1413.                 // response.error("Uh oh, something went wrong");
  1414.                 // }
  1415.                 // });
  1416.                     // });
  1417.     // }
  1418.  
  1419. }
  1420.  
  1421.  
  1422. });
  1423.  
  1424.  
  1425. Parse.Cloud.define("sendMail", function(request, response) {
  1426.  
  1427.      
  1428. // var Mandrill = require('mandrill');
  1429. // Mandrill.initialize('12AkG8ijJNp74_RVhkrZEg');
  1430.  
  1431. /*
  1432.  
  1433. Mandrill.sendEmail({
  1434. message: {
  1435. text: request.params.text,
  1436. subject: request.params.subject,
  1437. from_email: request.params.fromEmail,
  1438. from_name: request.params.fromName,
  1439. to: [
  1440. {
  1441. email: request.params.toEmail,
  1442. name: request.params.toName
  1443. }
  1444. ]
  1445. },
  1446. async: true
  1447. },{
  1448. success: function(httpResponse) {
  1449. console.log(httpResponse);
  1450. response.success("Email sent!");
  1451. },
  1452. error: function(httpResponse) {
  1453. console.error(httpResponse);
  1454. response.error("Uh oh, something went wrong");
  1455. }
  1456. });
  1457.  
  1458. */
  1459. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement