Archived
1
0
Fork 0
This repository has been archived on 2024-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
kfet/sockets/add/addCommand.js

41 lines
1.7 KiB
JavaScript
Raw Permalink Normal View History

2020-05-31 22:47:20 +02:00
const models = require("../../models");
const utils = require("../utils");
2020-05-29 19:44:12 +02:00
module.exports = socket => {
return async (data) => {
try {
let o = await models.Command.findOne({
where: {date: {[models.Sequelize.Op.eq]: new Date()}},
order: [["number", "DESC"]]
});
let c = await models.Command.create({
number: o ? o.number + 1 : 1,
2020-05-30 16:48:50 +02:00
price: await utils.price(data)
2020-05-29 19:44:12 +02:00
});
if (data.client)
await c.setClient(await models.User.findByPk(data.client));
if (data.pc)
await c.setPc(await models.User.findByPk(data.pc));
if (data.dish)
await c.setDish(await models.Dish.findByPk(data.dish));
if (data.ingredient)
2020-05-30 16:48:50 +02:00
for (let i of data.ingredient)
2020-05-29 19:44:12 +02:00
await c.addIngredient(await models.Ingredient.findByPk(i));
if (data.sauce)
2020-05-30 16:48:50 +02:00
for (let s of data.sauce)
2020-05-29 19:44:12 +02:00
await c.addSauce(await models.Sauce.findByPk(s));
if (data.drink)
2020-05-30 16:58:43 +02:00
await c.setDrink(await models.Drink.findByPk(data.drink));
2020-05-29 19:44:12 +02:00
if (data.dessert)
2020-05-30 16:48:50 +02:00
await c.setDessert(await models.Dessert.findByPk(data.dessert));
2020-05-29 21:56:35 +02:00
2020-05-30 16:58:43 +02:00
let send = utils.commandExport(await models.Command.findByPk(c.id, {include: [models.Dish, models.Ingredient, models.Sauce, models.Drink, models.Dessert, "client", "pc", "sandwich"]}));
2020-05-29 19:44:12 +02:00
socket.emit("new command", send);
socket.broadcast.emit("new command", send);
} catch (e) {
socket.emit("internal error");
2020-05-29 19:44:12 +02:00
console.error(e);
}
}
}