Files
dashboard/backend/src/routes/banner.routes.ts
Matthias Hochmeister 515f14956e rights system
2026-03-23 10:50:52 +01:00

17 lines
759 B
TypeScript

import { Router } from 'express';
import bannerController from '../controllers/banner.controller';
import { authenticate } from '../middleware/auth.middleware';
import { requirePermission } from '../middleware/rbac.middleware';
const router = Router();
const adminAuth = [authenticate, requirePermission('admin:write')] as const;
// Public (authenticated): get active banners
router.get('/active', authenticate, bannerController.getActive.bind(bannerController));
// Admin: manage banners
router.get('/', ...adminAuth, bannerController.getAll.bind(bannerController));
router.post('/', ...adminAuth, bannerController.create.bind(bannerController));
router.delete('/:id', ...adminAuth, bannerController.delete.bind(bannerController));
export default router;