mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
23 lines
1.6 KiB
JavaScript
23 lines
1.6 KiB
JavaScript
// routes/admin/notificationBroadcasts.routes.js
|
|
const router = require('express').Router();
|
|
const controller = require('../../controllers/admin/notificationBroadcasts.controller');
|
|
const { sensitiveOpsLimiter } = require('../../middleware/rateLimiter.middleware');
|
|
|
|
// ─── Static routes first ──────────────────────────────────────────────────────
|
|
router.get('/archived', controller.getArchivedBroadcasts);
|
|
router.delete('/bulk', sensitiveOpsLimiter, controller.archiveBroadcasts);
|
|
router.patch('/bulk-restore', controller.restoreBroadcasts);
|
|
|
|
// ─── Collection ───────────────────────────────────────────────────────────────
|
|
router.get('/', controller.getBroadcasts);
|
|
router.post('/', controller.createBroadcast);
|
|
|
|
// ─── Dynamic routes last ──────────────────────────────────────────────────────
|
|
router.get('/:broadcastId', controller.getBroadcast);
|
|
router.patch('/:broadcastId', sensitiveOpsLimiter, controller.updateBroadcast);
|
|
router.patch('/:broadcastId/send', sensitiveOpsLimiter, controller.sendBroadcast);
|
|
router.patch('/:broadcastId/restore', sensitiveOpsLimiter, controller.restoreBroadcast);
|
|
router.delete('/:broadcastId', sensitiveOpsLimiter, controller.archiveBroadcast);
|
|
|
|
module.exports = router;
|