90 lines
2.6 KiB
JavaScript
90 lines
2.6 KiB
JavaScript
const express = require("express");
|
|
const router = express.Router();
|
|
|
|
const {
|
|
listPatients,
|
|
showCreatePatient,
|
|
createPatient,
|
|
showEditPatient,
|
|
updatePatient,
|
|
showPatientMedications,
|
|
moveToWaitingRoom,
|
|
showWaitingRoom,
|
|
showPatientOverview,
|
|
addPatientNote,
|
|
callFromWaitingRoom,
|
|
dischargePatient,
|
|
showMedicationPlan,
|
|
movePatientToWaitingRoom,
|
|
deactivatePatient,
|
|
activatePatient,
|
|
showPatientOverviewDashborad,
|
|
assignMedicationToPatient,
|
|
} = require("../controllers/patient.controller");
|
|
|
|
// ✅ WICHTIG: middleware export ist ein Object → destructuring!
|
|
const { requireLogin } = require("../middleware/auth.middleware");
|
|
|
|
/* =========================================
|
|
✅ PATIENT SELECT (Radiobutton -> Session)
|
|
========================================= */
|
|
router.post("/select", requireLogin, (req, res) => {
|
|
try {
|
|
const patientId = req.body.patientId;
|
|
|
|
if (!patientId) {
|
|
req.session.selectedPatientId = null;
|
|
return res.json({ ok: true, selectedPatientId: null });
|
|
}
|
|
|
|
req.session.selectedPatientId = parseInt(patientId, 10);
|
|
|
|
return res.json({
|
|
ok: true,
|
|
selectedPatientId: req.session.selectedPatientId,
|
|
});
|
|
} catch (err) {
|
|
console.error("❌ Fehler /patients/select:", err);
|
|
return res.status(500).json({ ok: false });
|
|
}
|
|
});
|
|
|
|
/* =========================================
|
|
✅ PATIENT ROUTES
|
|
========================================= */
|
|
router.get("/", requireLogin, listPatients);
|
|
|
|
router.get("/create", requireLogin, showCreatePatient);
|
|
router.post("/create", requireLogin, createPatient);
|
|
|
|
router.get("/waiting-room", requireLogin, showWaitingRoom);
|
|
|
|
router.post("/waiting-room/:id", requireLogin, moveToWaitingRoom);
|
|
router.post(
|
|
"/move-to-waiting-room/:id",
|
|
requireLogin,
|
|
movePatientToWaitingRoom,
|
|
);
|
|
|
|
router.get("/edit/:id", requireLogin, showEditPatient);
|
|
router.post("/update/:id", requireLogin, updatePatient);
|
|
|
|
router.get("/:id/medications", requireLogin, showPatientMedications);
|
|
router.post("/:id/medications", requireLogin, assignMedicationToPatient);
|
|
|
|
router.get("/:id/overview", requireLogin, showPatientOverview);
|
|
router.post("/:id/notes", requireLogin, addPatientNote);
|
|
|
|
router.get("/:id/plan", requireLogin, showMedicationPlan);
|
|
|
|
router.post("/:id/call", requireLogin, callFromWaitingRoom);
|
|
router.post("/:id/discharge", requireLogin, dischargePatient);
|
|
|
|
router.post("/deactivate/:id", requireLogin, deactivatePatient);
|
|
router.post("/activate/:id", requireLogin, activatePatient);
|
|
|
|
// ✅ Patient Dashboard
|
|
router.get("/:id", requireLogin, showPatientOverviewDashborad);
|
|
|
|
module.exports = router;
|