update
Took 5 hours 35 minutes
This commit is contained in:
@ -9,7 +9,7 @@ import {SensorType} from "../../SensorType";
|
||||
import {Settings} from "../../Settings";
|
||||
import Ingredient from "../../database/Ingredient";
|
||||
import {RequestType} from "../../RequestType";
|
||||
import {IDrink} from "../../database/IDrink";
|
||||
import {IJob} from "../../database/IJob";
|
||||
|
||||
const express = require('express');
|
||||
const router = express.Router();
|
||||
@ -32,7 +32,6 @@ router.ws('/', async (ws, req, next) => {
|
||||
await WebSocketHandler.sendDrinks();
|
||||
|
||||
|
||||
|
||||
ws.on('message', async (raw, bool) => {
|
||||
let msg = WebSocketPayload.parseFromBase64Json(raw);
|
||||
// If message is null, close the socket because it could not be decompiled
|
||||
@ -41,14 +40,9 @@ router.ws('/', async (ws, req, next) => {
|
||||
return;
|
||||
}
|
||||
|
||||
log(msg);
|
||||
|
||||
|
||||
switch (msg.event) {
|
||||
case WebSocketEvent.FILL : {
|
||||
iTender.startFill(msg.data as { drink: IDrink, ingredients?: { id: String, amount: number }[], amount?: number });
|
||||
break;
|
||||
}
|
||||
|
||||
case WebSocketEvent.TARE: {
|
||||
if (msg.data["state"] == true) {
|
||||
iTender.toggleTare(true);
|
||||
@ -71,7 +65,6 @@ router.ws('/', async (ws, req, next) => {
|
||||
container.sensorPin1 = c.sensor1;
|
||||
container.sensorPin2 = c.sensor2;
|
||||
container.enabled = true;
|
||||
container.autoDisabled = true;
|
||||
await container.save();
|
||||
i++;
|
||||
}
|
||||
@ -89,7 +82,7 @@ router.ws('/', async (ws, req, next) => {
|
||||
ingredient = undefined;
|
||||
}
|
||||
|
||||
container.volume = parseInt(msg.data["volume"]);
|
||||
container.filled = parseInt(msg.data["filled"]);
|
||||
container.content = ingredient;
|
||||
|
||||
await container.save();
|
||||
@ -101,7 +94,7 @@ router.ws('/', async (ws, req, next) => {
|
||||
case WebSocketEvent.CONFIG: {
|
||||
// ToDo
|
||||
console.log("New Settings:", msg.data);
|
||||
// Danach setup modus aus
|
||||
// Danach setup modus us
|
||||
for (const [key, value] of Object.entries(msg.data)) {
|
||||
Settings.set(key, value);
|
||||
}
|
||||
@ -138,6 +131,20 @@ router.ws('/', async (ws, req, next) => {
|
||||
WebSocketHandler.answerRequest(msg.data["type"] as RequestType, (await Ingredient.find().sort({"name": 1})));
|
||||
break;
|
||||
}
|
||||
case RequestType.STARTFILL: {
|
||||
let job: IJob | null = null;
|
||||
try {
|
||||
job = await iTender.onReceiveFill(msg.data["content"]);
|
||||
} catch (e: any) {
|
||||
console.error(e);
|
||||
}
|
||||
WebSocketHandler.answerRequest(msg.data["type"] as RequestType, {success: (!!job), job: job});
|
||||
break;
|
||||
}
|
||||
case RequestType.JOB: {
|
||||
WebSocketHandler.answerRequest(msg.data["type"] as RequestType, iTender.currentJob);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
|
Reference in New Issue
Block a user