24 lines
848 B
JavaScript
24 lines
848 B
JavaScript
const models = require("../../models");
|
|
|
|
module.exports = socket => {
|
|
return async (data) => {
|
|
try {
|
|
let s = await models.Service.findOne({where: {date: {[models.Sequelize.Op.eq]: new Date()}}, include: ["sandwich1", "sandwich2", "sandwich3", "commi1", "commi2"]})
|
|
if (!s)
|
|
s = await models.Service.create();
|
|
|
|
for (let u in data) {
|
|
if (!(s[u] && s[u].username === data[u]) || !data[u])
|
|
s[u + "Busy"] = false;
|
|
await s["set" + u.charAt(0).toUpperCase() + u.slice(1)](data[u]);
|
|
}
|
|
|
|
await s.save();
|
|
socket.emit("set service", data);
|
|
socket.broadcast.emit("set service", data);
|
|
} catch (e) {
|
|
socket.emit("internal error");
|
|
console.error(e);
|
|
}
|
|
}
|
|
}
|