summaryrefslogtreecommitdiff
path: root/src/BeerDuke.js
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2015-09-08 21:52:27 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2015-09-08 21:52:27 +0200
commit81e0bad6f6e66e41f04e2fc4bd9a533976eb58a9 (patch)
tree245ff63a8bee1882d23884531d2ef026ff1190b9 /src/BeerDuke.js
parent76c273eaf316e0a8e3eadf93674ffa0aad35f7fd (diff)
downloadbeer-duke-81e0bad6f6e66e41f04e2fc4bd9a533976eb58a9.tar.gz
beer-duke-81e0bad6f6e66e41f04e2fc4bd9a533976eb58a9.tar.bz2
beer-duke-81e0bad6f6e66e41f04e2fc4bd9a533976eb58a9.tar.xz
beer-duke-81e0bad6f6e66e41f04e2fc4bd9a533976eb58a9.zip
Diffstat (limited to 'src/BeerDuke.js')
-rw-r--r--src/BeerDuke.js42
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);