mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
40 lines
2.7 KiB
JavaScript
40 lines
2.7 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
|
|
const usersCtrl = require('../../controllers/admin/users.controller');
|
|
const activityCtrl = require('../../controllers/admin/user_activity.controller');
|
|
const { sensitiveOpsLimiter } = require('../../middleware/rateLimiter.middleware');
|
|
|
|
router.post('/bulk/restore', sensitiveOpsLimiter, usersCtrl.bulkRestoreUsers);
|
|
router.delete('/bulk', sensitiveOpsLimiter, usersCtrl.bulkDeactivateUsers);
|
|
router.delete('/bulk/permanent', sensitiveOpsLimiter, usersCtrl.bulkPermanentlyDeleteUsers);
|
|
router.get('/field-values', usersCtrl.getUserFieldValues);
|
|
router.get('/archived', usersCtrl.getArchivedUsers);
|
|
router.post('/staff', sensitiveOpsLimiter, usersCtrl.addStaffUser);
|
|
router.get('/', usersCtrl.getUsers);
|
|
router.get('/:id', usersCtrl.getUser);
|
|
router.put('/:id', sensitiveOpsLimiter, usersCtrl.updateUser);
|
|
router.delete('/:id', sensitiveOpsLimiter, usersCtrl.deactivateUser);
|
|
router.delete('/:id/permanent', sensitiveOpsLimiter, usersCtrl.permanentlyDeleteUser);
|
|
router.post('/:id/restore', sensitiveOpsLimiter, usersCtrl.restoreUser);
|
|
router.post('/:id/make-admin', sensitiveOpsLimiter, usersCtrl.makeAdmin);
|
|
router.post('/:id/demote-admin', sensitiveOpsLimiter, usersCtrl.demoteAdmin);
|
|
|
|
// ── Bans ──────────────────────────────────────────────────────────────────────
|
|
router.post('/bulk/ban', sensitiveOpsLimiter, usersCtrl.bulkBanUsers);
|
|
router.post('/bulk/unban', sensitiveOpsLimiter, usersCtrl.bulkUnbanUsers);
|
|
router.get('/:id/bans', usersCtrl.getUserBans);
|
|
router.post('/:id/ban', sensitiveOpsLimiter, usersCtrl.banUser);
|
|
router.post('/:id/unban', sensitiveOpsLimiter, usersCtrl.unbanUser);
|
|
|
|
// ── Sessions ──────────────────────────────────────────────────────────────────
|
|
router.get('/:id/sessions', usersCtrl.getUserSessions);
|
|
router.delete('/:id/sessions/:sid', sensitiveOpsLimiter, usersCtrl.terminateSession);
|
|
|
|
// ── Achievements ──────────────────────────────────────────────────────────────
|
|
router.get('/:id/achievements', usersCtrl.getUserAchievements);
|
|
|
|
// ── Activity ──────────────────────────────────────────────────────────────────
|
|
router.get('/:id/activity', activityCtrl.getUserActivity);
|
|
|
|
module.exports = router; |