chore: relocate backend into apps/api ahead of monorepo merge

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-24 12:20:40 +08:00
co-authored by Claude Sonnet 5
parent af44598df6
commit eaa6d2276a
388 changed files with 0 additions and 13998 deletions
+40
View File
@@ -0,0 +1,40 @@
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;