import { Router } from 'express';
import {
deleteAdmin,
getAllUsers,
getProfile,
loginAdmin,
logoutAdmin,
registerAdmin,
resetPassword,
updateProfile,
} from '../controllers/authController';
import { Schemas, ValidateBodySchema } from '../middlewares/validateSchemaMiddleware';
import {checkSuperAdmin, protect} from '../middlewares/authMiddleware';
const authRouter = Router();
authRouter.post('/register', protect, checkSuperAdmin, ValidateBodySchema(Schemas.user.register), registerAdmin);
authRouter.post('/login', ValidateBodySchema(Schemas.user.login), loginAdmin);
authRouter.post('/logout', logoutAdmin);
authRouter.route('/profile').get(protect, getProfile).put(protect, ValidateBodySchema(Schemas.user.update), updateProfile);
authRouter.route('/password').put(protect, checkSuperAdmin, ValidateBodySchema(Schemas.user.updatePassword), resetPassword);
authRouter.route('/delete').delete(protect, checkSuperAdmin, ValidateBodySchema(Schemas.user.delete), deleteAdmin);
authRouter.route('/users').get(protect, checkSuperAdmin, getAllUsers);
export default authRouter;