Beispiel #1
0
Parse.Cloud.define("addThing", function(request, response) {
	if (!request.params.serial || !request.user) {
        throw 'Missing initialization parameter';
    }
    else {
    	// Get System from AirVantage
        airvantage.system({
  			"gateway": "serialNumber:" + request.params.serial
  		},
		{
			success: function(system) {		
				if (!system) {
					response.error("No Serial '" + request.params.serial + "' available");
				}
				else {
					// Search if system is not already registered
					var Thing = Parse.Object.extend("Thing");
					var query = new Parse.Query(Thing);
					query.equalTo("uid", system.uid);
					query.first({
					  success: function(object) {
					  	if (!object) {
					  		// Thing doesn't exist, we can create it for the current user					  		
					    	var currentUser = Parse.User.current();

					    	var name = request.params.name;
					    	if (!name) {
					    		name.system.name;
					    	}

							var Thing = Parse.Object.extend("Thing");
							var newThing = new Thing();
							 
							newThing.set("uid", system.uid);
							newThing.set("name", name);
							newThing.set("owner", currentUser);
							 
							newThing.save(null, {
							  success: function(thing) {
								response.success("Thing '" + system.uid + "' added to the current user");
							  },
							  error: function(thing, error) {
								response.error("Failed to add Thing '" + system.uid + "' to the current user");
							  }
							});
					  	}
					  	else {
							response.error("The thing '" + system.uid + "' is already registered.");
					  	}
					  },
					  error: function(error) {
						response.error("Unable to retrieve things.");
					  }
					});
				}
			}
		});

    }
});
Beispiel #2
0
		  success: function(object) {
		  	if (!object) {
				response.error("The current user doesn't have access to the thing '" + request.params.uid + "'");
		  	}
		  	else {
		        airvantage.hourly(request.params.uid, request.params.data, "max", 24,
				{
					success: function(data) {
						response.success(data);
					}
				});
		  	}
		  },
Beispiel #3
0
		  success: function(object) {
		  	if (!object) {
				response.error("The current user doesn't have access to the thing '" + request.params.uid + "'");
		  	}
		  	else {
		        airvantage.system({
		  			uid: request.params.uid
		  		},
				{
					success: function(system) {
						response.success(system);
					}
				});
		  	}
		  },
Beispiel #4
0
var airvantage = require('cloud/airvantage.js');

airvantage.initialize('AairVantage_client_id', 'airvantage_client_secret', 'airvantage_user', 'airvantage_password');

Parse.Cloud.define("getThing", function(request, response) {
	if (!request.params.uid || !request.user) {
        throw 'Missing initialization parameter';
    }
    else {
    	var currentUser = Parse.User.current();

    	var Thing = Parse.Object.extend("Thing");
		var query = new Parse.Query(Thing);
		query.equalTo("owner", currentUser);
		query.first({
		  success: function(object) {
		  	if (!object) {
				response.error("The current user doesn't have access to the thing '" + request.params.uid + "'");
		  	}
		  	else {
		        airvantage.system({
		  			uid: request.params.uid
		  		},
				{
					success: function(system) {
						response.success(system);
					}
				});
		  	}
		  },
		  error: function(error) {