calendar and vehicle booking rework

This commit is contained in:
Matthias Hochmeister
2026-03-25 15:44:11 +01:00
parent e49639e2a6
commit 74d978171c
12 changed files with 1413 additions and 1835 deletions

View File

@@ -0,0 +1,56 @@
import { Router } from 'express';
import buchungskategorieController from '../controllers/buchungskategorie.controller';
import { authenticate } from '../middleware/auth.middleware';
import { requirePermission } from '../middleware/rbac.middleware';
const router = Router();
// GET / — all categories (admin view, includes inactive)
router.get(
'/',
authenticate,
requirePermission('kalender:view_bookings'),
buchungskategorieController.list.bind(buchungskategorieController)
);
// GET /active — only active categories (for booking forms)
router.get(
'/active',
authenticate,
requirePermission('kalender:view_bookings'),
buchungskategorieController.listActive.bind(buchungskategorieController)
);
// POST / — create new category
router.post(
'/',
authenticate,
requirePermission('kalender:manage_bookings'),
buchungskategorieController.create.bind(buchungskategorieController)
);
// PATCH /:id — update category
router.patch(
'/:id',
authenticate,
requirePermission('kalender:manage_bookings'),
buchungskategorieController.update.bind(buchungskategorieController)
);
// DELETE /:id — soft-delete (deactivate)
router.delete(
'/:id',
authenticate,
requirePermission('kalender:manage_bookings'),
buchungskategorieController.deactivate.bind(buchungskategorieController)
);
// DELETE /:id/permanent — hard delete
router.delete(
'/:id/permanent',
authenticate,
requirePermission('kalender:manage_bookings'),
buchungskategorieController.remove.bind(buchungskategorieController)
);
export default router;