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;