Reflex/backend/routes/adminRoutes.js

53 lines
2.3 KiB
JavaScript
Raw Normal View History

const express = require('express');
const router = express.Router();
const adminController = require('../controllers/adminController');
const { protect } = require('../middleware/authMiddleware');
const adminMiddleware = require('../middleware/adminMiddleware');
const {
getAllReports,
getReportById,
updateReportStatus,
getReportsStats
} = require('../controllers/reportController');
const {
blockDevice,
unblockDeviceAdmin,
getBlockedDevicesList,
2025-05-26 18:42:01 +07:00
getBlockedDeviceDetails,
getUserDevices,
blockUserDevices
} = require('../controllers/deviceSecurityController');
// Все маршруты защищены middleware для проверки авторизации и прав администратора
router.use(protect, adminMiddleware);
// Маршруты для управления пользователями
router.get('/users', adminController.getAllUsers);
router.get('/users/:id', adminController.getUserDetails);
router.put('/users/:id/toggle-active', adminController.toggleUserActive);
// Маршруты для просмотра статистики
router.get('/statistics', adminController.getAppStatistics);
// Маршруты для управления жалобами
router.get('/reports', getAllReports);
router.get('/reports/stats', getReportsStats);
router.get('/reports/:id', getReportById);
router.put('/reports/:id', updateReportStatus);
// Маршруты для просмотра диалогов и сообщений
router.get('/conversations', adminController.getAllConversations);
2025-05-26 13:27:06 +07:00
router.get('/conversations/:id', adminController.getConversationById); // Новый маршрут для получения диалога по ID
router.get('/conversations/:id/messages', adminController.getConversationMessages);
// Маршруты для управления блокировками устройств
router.get('/blocked-devices', getBlockedDevicesList);
router.get('/blocked-devices/:id', getBlockedDeviceDetails);
router.post('/block-device', blockDevice);
router.post('/unblock-device', unblockDeviceAdmin);
2025-05-26 18:42:01 +07:00
// Новые маршруты для управления устройствами пользователя
router.get('/user/:userId/devices', getUserDevices);
router.post('/user/:userId/block-devices', blockUserDevices);
module.exports = router;