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.
SOD/routes/admin/commands.js

41 lines
1.5 KiB
JavaScript
Raw Normal View History

2020-08-17 19:04:50 +02:00
let express = require("express");
let router = express.Router();
let sessionCheck = require("../../middlewares/sessionCheck");
let models = require("../../models");
router.get("/", sessionCheck(3), async (req, res) => {
res.render("admin/commands", {
title: "SOD",
user: req.session.user,
commands: await models.Command.findAll({include: models.Sandwich, order: ["date"]})
});
}).post("/command/delete", sessionCheck(3), async (req, res) => {
if (!req.body.id)
res.render("error", {message: "Fail to remove command !", error: {status: "Missing args"}});
try {
await (await models.Command.findByPk(req.body.id)).destroy();
res.redirect("/admin/commands");
} catch (e) {
res.render("error", {message: "Fail to remove command !", error: {}});
throw e;
}
}).post("/sandwich/delete", sessionCheck(3), async (req, res) => {
if (!req.body.id)
res.render("error", {message: "Fail to remove sandwich !", error: {status: "Missing args"}});
try {
let sandwich = await models.SandwichCommand.findByPk(req.body.id);
let command = await models.Command.findByPk(sandwich.CommandId, {include: models.Sandwich});
await sandwich.destroy();
await command.reload();
if (!command.Sandwiches.length)
await command.destroy();
res.redirect("/admin/commands");
} catch (e) {
res.render("error", {message: "Fail to remove sandwich !", error: {}});
throw e;
}
});
module.exports = router;