update
Took 5 hours 14 minutes
This commit is contained in:
@ -7,6 +7,8 @@ import {WebSocketEvent} from "../../WebSocketEvent";
|
||||
import Container from "../../database/Container";
|
||||
import {SensorType} from "../../SensorType";
|
||||
import {Settings} from "../../Settings";
|
||||
import Ingredient from "../../database/Ingredient";
|
||||
import {RequestType} from "../../RequestType";
|
||||
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
@ -26,6 +28,8 @@ router.ws('/', async (ws, req, next) => {
|
||||
await WebSocketHandler.sendRunningConfig();
|
||||
await WebSocketHandler.sendContainers();
|
||||
await WebSocketHandler.sendStatus();
|
||||
await WebSocketHandler.sendDrinks();
|
||||
|
||||
|
||||
|
||||
ws.on('message', async (raw, bool) => {
|
||||
@ -36,6 +40,8 @@ router.ws('/', async (ws, req, next) => {
|
||||
return;
|
||||
}
|
||||
|
||||
log(msg);
|
||||
|
||||
switch (msg.event) {
|
||||
case WebSocketEvent.TARE: {
|
||||
if (msg.data["state"] == true) {
|
||||
@ -66,6 +72,26 @@ router.ws('/', async (ws, req, next) => {
|
||||
break;
|
||||
}
|
||||
|
||||
case WebSocketEvent.CONTAINER_UPDATE: {
|
||||
let container = await Container.findById(msg.data["container"]);
|
||||
if (!container) break;
|
||||
|
||||
let ingredient;
|
||||
if (msg.data["ingredient"] != null) {
|
||||
ingredient = await Ingredient.findById(msg.data["ingredient"]);
|
||||
if (!ingredient)
|
||||
ingredient = undefined;
|
||||
}
|
||||
|
||||
container.volume = parseInt(msg.data["volume"]);
|
||||
container.content = ingredient;
|
||||
|
||||
await container.save();
|
||||
|
||||
await iTender.refreshDrinks();
|
||||
break;
|
||||
}
|
||||
|
||||
case WebSocketEvent.CONFIG: {
|
||||
// ToDo
|
||||
console.log("New Settings:", msg.data);
|
||||
@ -85,10 +111,34 @@ router.ws('/', async (ws, req, next) => {
|
||||
if (Settings.setupDone) {
|
||||
iTender.setStatus(iTenderStatus.READY);
|
||||
await WebSocketHandler.sendRunningConfig();
|
||||
|
||||
}
|
||||
}
|
||||
await WebSocketHandler.sendContainers();
|
||||
break;
|
||||
}
|
||||
|
||||
case WebSocketEvent.REQUEST: {
|
||||
|
||||
switch (msg.data["type"] as RequestType) {
|
||||
case RequestType.STATS: {
|
||||
await WebSocketHandler.sendStats();
|
||||
break;
|
||||
}
|
||||
case RequestType.CONTAINERS: {
|
||||
WebSocketHandler.answerRequest(msg.data["type"] as RequestType, (await Container.find().sort({"slot": 1})));
|
||||
break;
|
||||
}
|
||||
case RequestType.INGREDIENTS: {
|
||||
WebSocketHandler.answerRequest(msg.data["type"] as RequestType, (await Ingredient.find().sort({"name": 1})));
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default: {
|
||||
log("WebSocketHandler does not know how to handle " + msg.event + " Event");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
Reference in New Issue
Block a user