a6cc41666e
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
27 lines
1.7 KiB
JavaScript
27 lines
1.7 KiB
JavaScript
import { Router } from 'express';
|
|
import { requireAuth, requireRole, CAN_MANAGE_USERS, ROLES } from '../../middleware/auth.js';
|
|
import { requireModule } from '../../middleware/modules.js';
|
|
import {
|
|
getUsers, getRoles, postUser, putUser, patchUserActive, postApproveUser, postRejectUser, postResendUserEmail,
|
|
getUserModules, putUserModules, getUserSessions, deleteUserSession, postRevokeUserSessions,
|
|
} from './controller.js';
|
|
|
|
const router = Router();
|
|
|
|
router.use(requireAuth);
|
|
router.get('/', getUsers);
|
|
router.get('/roles', getRoles);
|
|
router.post('/', requireModule('organization'), requireRole(...CAN_MANAGE_USERS), postUser);
|
|
router.put('/:id', requireModule('organization'), requireRole(...CAN_MANAGE_USERS), putUser);
|
|
router.patch('/:id/active', requireModule('organization'), requireRole(...CAN_MANAGE_USERS), patchUserActive);
|
|
router.post('/:id/approve', requireModule('organization'), requireRole(...CAN_MANAGE_USERS), postApproveUser);
|
|
router.post('/:id/reject', requireModule('organization'), requireRole(...CAN_MANAGE_USERS), postRejectUser);
|
|
router.get('/:id/modules', requireRole(ROLES.SUPERADMIN), getUserModules);
|
|
router.put('/:id/modules', requireRole(ROLES.SUPERADMIN), putUserModules);
|
|
router.post('/:id/resend', requireModule('organization'), requireRole(...CAN_MANAGE_USERS), postResendUserEmail);
|
|
router.get('/:id/sessions', requireModule('organization'), requireRole(...CAN_MANAGE_USERS), getUserSessions);
|
|
router.delete('/:id/sessions/:sessionId', requireModule('organization'), requireRole(...CAN_MANAGE_USERS), deleteUserSession);
|
|
router.post('/:id/sessions/revoke-all', requireModule('organization'), requireRole(...CAN_MANAGE_USERS), postRevokeUserSessions);
|
|
|
|
export default router;
|