40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
const express = require("express");
|
|
const router = express.Router();
|
|
const db = require("../db");
|
|
const controller = require("../controllers/resourceController");
|
|
const { moveByPosition } = require("../helpers/positionMove");
|
|
|
|
router.get("/active", controller.getActive);
|
|
router.get("/cancelled", controller.getCancelled);
|
|
|
|
router.post("/:id/move", async (req, res) => {
|
|
try {
|
|
const { direction } = req.body;
|
|
|
|
const result = await moveByPosition({
|
|
db,
|
|
table: "resources",
|
|
id: req.params.id,
|
|
direction,
|
|
selectQuery: "SELECT id FROM resources WHERE status != 'gekündigt' ORDER BY position, id",
|
|
missingColumnMessage: "Position-Spalte in resources fehlt noch",
|
|
notFoundMessage: "Ressource nicht gefunden",
|
|
});
|
|
|
|
res.status(result.status).json(result.body);
|
|
|
|
} catch (e) {
|
|
console.error("MOVE resource error:", e)
|
|
res.status(500).json({ error: "Reihenfolge konnte nicht geaendert werden" })
|
|
}
|
|
|
|
})
|
|
|
|
router.post("/", controller.create);
|
|
router.put("/:id", controller.update);
|
|
router.delete("/:id", controller.remove);
|
|
|
|
|
|
|
|
module.exports = router;
|