diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2015-09-08 21:52:27 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2015-09-08 21:52:27 +0200 |
commit | 81e0bad6f6e66e41f04e2fc4bd9a533976eb58a9 (patch) | |
tree | 245ff63a8bee1882d23884531d2ef026ff1190b9 /src/BeerDuke.js | |
parent | 76c273eaf316e0a8e3eadf93674ffa0aad35f7fd (diff) | |
download | beer-duke-master.tar.gz beer-duke-master.tar.bz2 beer-duke-master.tar.xz beer-duke-master.zip |
Diffstat (limited to 'src/BeerDuke.js')
-rw-r--r-- | src/BeerDuke.js | 42 |
1 files changed, 33 insertions, 9 deletions
diff --git a/src/BeerDuke.js b/src/BeerDuke.js index b30ee33..5fe8539 100644 --- a/src/BeerDuke.js +++ b/src/BeerDuke.js @@ -36,12 +36,18 @@ values = angular.fromJson(window.localStorage['beer-duke'] || '{}'); } + function setRandomClientId() { + values.clientId = values.clientId || 'beer-duke-' + Math.round(Math.random() * 100000); + save(); + } + load(); - values.clientId = values.clientId || 'beer-duke-' + Math.round(Math.random() * 100000); values.showSettings = values.showSettings || false; + values.tap = values.tap || '/beer-duke'; save(); return { + setRandomClientId: setRandomClientId, keys: keys, values: values, load: load, @@ -81,6 +87,7 @@ self.client = client; self.client.connect({ + cleanSession: true, onSuccess: function () { problems.connect_response = arguments; var args = arguments; @@ -138,36 +145,53 @@ } } - function submit(destination, payload) { + function requestBeer(code) { + var payload = {code: code, email: BeerDukeSettings.values.clientId}; + console.log('payload =', payload); var message = new Paho.MQTT.Message(angular.toJson(payload)); - message.destinationName = destination; + message.destinationName = BeerDukeSettings.values.tap + '/give-beer'; + message.qos = 1; + message.retained = false; self.client.send(message); } - function updateSlots(slot, count) { - var message = new Paho.MQTT.Message('' + count); - message.destinationName = '/beer-duke/slot/' + slot; + function updateSlots(counts) { + var message = new Paho.MQTT.Message(angular.toJson(counts)); + message.destinationName = BeerDukeSettings.values.tap + '/slots'; + message.qos = 0; + message.retained = true; self.client.send(message); } return { messages: messages, - submit: submit, connect: connect, subscribe: subscribe, connected: connected, callbacks: callbacks, updateSlots: updateSlots, + requestBeer: requestBeer, problems: problems } } - function TsService($log, $http, BeerDukeSettings) { + function TsService($q, $log, $http, BeerDukeSettings) { var url = BeerDukeSettings.values.tsUrl; function giveBeer() { if (!url) { - return; + return $q.resolve([ + Math.round(Math.random() * 100), + Math.round(Math.random() * 100), + Math.round(Math.random() * 100), + Math.round(Math.random() * 100), + Math.round(Math.random() * 100), + Math.round(Math.random() * 100), + Math.round(Math.random() * 100), + Math.round(Math.random() * 100), + Math.round(Math.random() * 100), + Math.round(Math.random() * 100) + ]); } return $http.get(url + '/GiveBeer').then(function (res) { $log.info('beer dispensed!', res); |