bmw-js
Version:
BMW javascript REST client for the BMW i3 hackathon.
75 lines (65 loc) • 2.79 kB
text/coffeescript
MojioClient = @MojioClient
config = {
application: 'f201b929-d28c-415d-9b71-8112532301cb',
secret: 'f0927a0a-386b-4148-be8d-5ffd7468ea6b',
hostname: 'api.moj.io',
version: 'v1',
port:'443',
login: 'anonymous@moj.io',
password: 'Password007',
scheme: 'https'
}
mojio_client = new MojioClient(config)
App = mojio_client.model('App')
Vehicle = mojio_client.model('Vehicle')
Mojio = mojio_client.model('Mojio')
Event = mojio_client.model('Event')
$( () ->
eventChangedCallback = (entity) ->
div = document.getElementById('result7')
div.innerHTML += 'Observed /Event <br>'
div.innerHTML += JSON.stringify(entity)
console.log("Observed Event! "+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
mojio_client.login(config.login, config.password, (error, result) ->
if (error)
alert("Login Error:"+error)
else
extractToken = (hash) ->
match = hash.match(/access_token=([0-9a-f-]{36})/)
return !!match && match[1]
token = extractToken(document.location.hash)
div = document.getElementById('result')
div.innerHTML += 'POST /login<br>'
div.innerHTML += '<br>Token: '+token+'<br>'
div.innerHTML += JSON.stringify(result)
mojio_client.query(Vehicle, {}, (error, result) ->
if (error)
div = document.getElementById('result2')
div.innerHTML += 'Get Vehicle Error'+error+'<br>'
else
vehicles = mojio_client.getResults(Vehicle, result)
vehicle = vehicles[0]
div = document.getElementById('result2')
div.innerHTML += 'Query /Vehicle<br>'
div.innerHTML += JSON.stringify(result)
console.log("Observing vehicle's events")
mojio_client.observe(vehicle, "TripStatus",
eventChangedCallback
,
(error, result) ->
if (error)
console.log("error:"+error)
else
console.log("Observing of vehicle's events started!")
)
)
)
)