bmw-js
Version:
BMW javascript REST client for the BMW i3 hackathon.
102 lines (94 loc) • 4.31 kB
JavaScript
// Generated by CoffeeScript 1.6.3
(function() {
var App, MojioClient, config, mojio_client;
MojioClient = this.MojioClient;
config = {
application: 'f201b929-d28c-415d-9b71-8112532301cb',
secret: '2ef80a7a-780d-41c1-8a02-13a286f11a23',
hostname: 'staging.api.moj.io',
version: 'v1',
port: '80',
login: 'anonymous@moj.io',
password: 'Password007'
};
mojio_client = new MojioClient(config);
App = mojio_client.model('App');
$(function() {
var appChangedCallback, div;
appChangedCallback = function(entity) {
var div;
div = document.getElementById('result6');
div.innerHTML += 'Observed /App <br>';
return div.innerHTML += JSON.stringify(entity);
};
if (config.application === 'Your-Sandbox-Application-Key-Here') {
div = document.getElementById('result');
div.innerHTML += 'Mojio Error:: Set your application and secret keys in login.js. <br>';
return;
}
if (config.login === 'Your-Username') {
div = document.getElementById('result2');
div.innerHTML += 'Mojio Error:: Set a username and password in login.js. <br>';
return;
}
return mojio_client.login(config.login, config.password, function(error, result) {
var app;
if (error) {
return alert("Login Error:" + error);
} else {
div = document.getElementById('result');
div.innerHTML += 'POST /login<br>';
div.innerHTML += JSON.stringify(result);
mojio_client.query(App, {}, function(error, result) {
var app, apps;
if (error) {
div = document.getElementById('result2');
return div.innerHTML += 'Get Apps Error' + error + '<br>';
} else {
apps = mojio_client.getResults(App, result);
app = apps[0];
div = document.getElementById('result2');
div.innerHTML += 'Query /App<br>';
return div.innerHTML += JSON.stringify(result);
}
});
app = new App().mock();
mojio_client.post(app, function(error, result) {
if ((error != null)) {
div = document.getElementById('result3');
div.innerHTML += 'Post /App Error<br>';
return div.innerHTML += "Error:" + error + " Posting a new app:" + app.stringify();
} else {
div = document.getElementById('result4');
div.innerHTML += 'Post /App<br>';
div.innerHTML += JSON.stringify(result);
app = new App(result);
console.log("Starting observing!");
return mojio_client.observe(app, null, appChangedCallback, function(error, result) {
app.Description = "Changed";
return mojio_client.put(app, function(error, result) {
div = document.getElementById('result5');
div.innerHTML += 'Put /App changed app<br>';
return div.innerHTML += JSON.stringify(result);
});
});
}
});
return setTimeout(function() {
app.Description = "Changed 3";
mojio_client.put(app, function(error, result) {
div = document.getElementById('result7');
div.innerHTML += 'Put /App changed app again<br>';
return div.innerHTML += JSON.stringify(result);
});
console.log("done.");
div = document.getElementById('result8');
return div.innerHTML += 'DONE.<br>';
}, 5000);
}
});
});
}).call(this);
/*
//@ sourceMappingURL=login.map
*/