import { GetUsersByAdmin, GetUserById, UpdateUserById, DeleteUserById, GetTeachersBySchool, GetUsersBySuperAdmin, bulkDeleteUsers, bulkDeleteTeachers, GetSchools, GetTeachers, GetTeacherById, UpdateTeacherById, DeleteTeacherById, GetInstDesigners, GetStatistics, } from '../controllers/users.controller'; import { Router } from 'express'; import { checkLogs, isAdmin, isLoggedIn, isSchool, isSuperAdmin, } from '../middlewares/auth.middleware'; const usersRouter = Router(); usersRouter.route('/statistics').get(checkLogs, isLoggedIn, GetStatistics); usersRouter.route('/').get(checkLogs, isLoggedIn, isAdmin, GetUsersByAdmin); usersRouter .route('/super') .get(checkLogs, isLoggedIn, isSuperAdmin, GetUsersBySuperAdmin); usersRouter.route('/schools').get(checkLogs, isLoggedIn, GetSchools); usersRouter.route('/teachers').get(checkLogs, isLoggedIn, GetTeachers); usersRouter .route('/teachers/:schoolId') .get(checkLogs, isLoggedIn, GetTeachersBySchool); usersRouter .route('/teacher/:teacherId') .get(checkLogs, isLoggedIn, isSchool, GetTeacherById) .delete(checkLogs, isLoggedIn, isSchool, DeleteTeacherById) .put(checkLogs, isLoggedIn, isSchool, UpdateTeacherById); usersRouter .route('/instDesigners') .get(checkLogs, isLoggedIn, isAdmin, GetInstDesigners); usersRouter .route('/:userId') .get(checkLogs, isLoggedIn, GetUserById) .put(checkLogs, isLoggedIn, isAdmin, UpdateUserById) .delete(checkLogs, isLoggedIn, isAdmin, DeleteUserById); usersRouter .route('/bulkDelete/teachers') .post(checkLogs, isLoggedIn, isSchool, bulkDeleteTeachers); usersRouter .route('/bulkDelete') .post(checkLogs, isLoggedIn, isAdmin, bulkDeleteUsers); export default usersRouter;