Skip to content

Instantly share code, notes, and snippets.

@gfosco
Last active November 23, 2016 05:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gfosco/3558dc03c8685a99dc5e to your computer and use it in GitHub Desktop.
Save gfosco/3558dc03c8685a99dc5e to your computer and use it in GitHub Desktop.
I have an idea.. but still not a compelling example for it.
var moment = require('moment');
TestObjectMeta = Parse.Object.extend("TestObject_meta");
Parse.Cloud.beforeSave("TestObject", function(request, response) {
var obj = request.object;
if (obj.isNew()) {
var at = moment();
var metadata = new TestObjectMeta();
metadata.set('year', at.year());
metadata.set('month', at.month());
metadata.set('day', at.day());
metadata.set('hour', at.hours());
metadata.set('minute', at.minutes());
metadata.set('second', at.seconds());
metadata.set('user', request.user);
metadata.save(null, { useMasterKey: true }).then(function() {
obj.set('metadata', metadata);
response.success();
}, function(err) {
response.error(err);
});
} else {
response.success();
}
});
Parse.Cloud.afterSave("TestObject", function(request) {
var obj = request.object;
if (!obj.existed()) {
var metadata = obj.get('metadata');
metadata.set('obj', obj);
return metadata.save(null, { useMasterKey: true });
}
});
Parse.Cloud.define('testQueryByDate', function(request, response) {
var query = new Parse.Query("TestObject");
query.greaterThanOrEqualTo('createdAt', new Date(2014, 7 - 1, 1));
query.lessThan('createdAt', new Date(2014, 8 - 1, 1));
query.find({ useMasterKey: true }).then(function(results) {
response.success(results);
}, function(error) {
response.error(error);
});
});
Parse.Cloud.define('testQueryByMetadata', function(request, response) {
var query = new Parse.Query(TestObjectMeta);
query.equalTo('year', 2014);
query.equalTo('month', 7 - 1);
query.include('obj');
query.find({ useMasterKey: true }).then(function(results) {
response.success(results);
}, function(error) {
response.error(error);
});
});
@rawatshailender
Copy link

rawatshailender commented Nov 23, 2016

However what about querying using get() with Parameter & useMasterKey Flag using Promises?

Parse.Cloud.define('testQueryByMetadata', function(request, response) { var query = new Parse.Query(TestObjectMeta); query.get({ useMasterKey: true }, request.user).then(function(results) { response.success(results); }, function(error) { response.error(error); }); });

@rawatshailender
Copy link

var GameScore = Parse.Object.extend("GameScore"); var query = new Parse.Query(GameScore); query.get("xWMyZ4YEGZ", { useMasterKey : true, success: function(gameScore) { // The object was retrieved successfully. }, error: function(object, error) { // The object was not retrieved successfully. // error is a Parse.Error with an error code and message. } });

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment