// routes/admin/advertisements.routes.js const router = require('express').Router(); const controller = require('../../controllers/admin/advertisements.controller'); const { sensitiveOpsLimiter } = require('../../middleware/rateLimiter.middleware'); // ─── Static routes first ────────────────────────────────────────────────────── router.get('/archived', controller.getArchivedAdvertisements); router.get('/field-values', controller.getAdvertisementFieldValues); router.delete('/bulk', sensitiveOpsLimiter, controller.archiveAdvertisements); router.patch('/bulk-restore', controller.restoreAdvertisements); // ─── Collection ─────────────────────────────────────────────────────────────── router.get('/', controller.getAdvertisements); router.post('/', controller.createAdvertisement); // ─── Dynamic routes last ────────────────────────────────────────────────────── router.get('/:advertisementId', controller.getAdvertisement); router.patch('/:advertisementId', sensitiveOpsLimiter, controller.updateAdvertisement); router.patch('/:advertisementId/restore', sensitiveOpsLimiter, controller.restoreAdvertisement); router.delete('/:advertisementId', sensitiveOpsLimiter, controller.archiveAdvertisement); module.exports = router;