Files
overleaf-cep/services/web/modules/admin-tools/app/src/AdminToolsRouter.mjs
2026-02-03 20:04:16 +01:00

82 lines
3.0 KiB
JavaScript

import logger from '@overleaf/logger'
import UserListController from './UserListController.mjs'
import ProjectListController from './ProjectListController.mjs'
import AuthorizationMiddleware from '../../../../app/src/Features/Authorization/AuthorizationMiddleware.mjs'
import AuthenticationController from '../../../../app/src/Features/Authentication/AuthenticationController.mjs'
export default {
apply(webRouter) {
logger.debug({}, 'Init AdminTools router')
webRouter.get('/user/activate', UserListController.activateAccountPage)
AuthenticationController.addEndpointToLoginWhitelist('/user/activate')
webRouter.get('/admin/user',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
UserListController.manageUsersPage
)
webRouter.post(
'/admin/user/create',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
UserListController.registerNewUser
)
webRouter.post('/admin/user/:userId/send-activation',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
UserListController.sendActivationEmail
)
webRouter.get('/admin/user/:userId/info',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
UserListController.getAdditionalUserInfo,
)
webRouter.post('/admin/users',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
UserListController.getUsersJson
)
webRouter.post('/admin/user/:userId/delete',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
UserListController.deleteUser
)
webRouter.post('/admin/user/:userId/update',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
UserListController.updateUser,
)
webRouter.delete('/admin/user/:userId',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
UserListController.purgeDeletedUser
)
webRouter.post('/admin/user/:userId/restore',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
UserListController.restoreDeletedUser
)
webRouter.post('/admin/user/:userId/projects',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
ProjectListController.getProjectsJson
)
webRouter.get('/admin/project',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
ProjectListController.manageProjectsPage
)
webRouter.post('/admin/project/:project_id/trash',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
ProjectListController.trashProjectForUser
)
webRouter.post('/admin/project/:project_id/untrash',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
ProjectListController.untrashProjectForUser
)
webRouter.delete('/admin/project/:project_id/purge',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
ProjectListController.purgeDeletedProject
)
webRouter.delete('/admin/project/:project_id',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
ProjectListController.deleteProject
)
webRouter.post('/admin/project/:project_id/undelete',
AuthorizationMiddleware.ensureUserIsSiteAdmin,
ProjectListController.undeleteProject
)
},
}