41 lines
1.5 KiB
JavaScript
41 lines
1.5 KiB
JavaScript
|
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;
|