import { Router } from 'express';
import { validator } from '../middlewares/validator.middleware';
import {
checkLogs,
isAdmin,
isInstDesign,
isLoggedIn,
} from '../middlewares/auth.middleware';
import { orderValidators } from '../services/order/order.validator';
import {
GetOrderById,
GetOrders,
GetOrdersByStatus,
CreateOrder,
DeleteOrder,
updateSchoolOrder,
updateTeacherOrder,
UpdateOrderStatus,
GetOrdersByInstructor,
} from '../controllers/order.controller';
const orderRouter = Router();
orderRouter.route('/').get(checkLogs, isLoggedIn, GetOrders);
orderRouter
.route('/status/:status')
.get(checkLogs, isLoggedIn, GetOrdersByStatus);
orderRouter
.route('/create')
.post(
checkLogs,
isLoggedIn,
isAdmin,
orderValidators,
validator,
CreateOrder
);
orderRouter
.route('/delete/:order_id')
.delete(checkLogs, isLoggedIn, isAdmin, DeleteOrder);
orderRouter
.route('/update/status/:order_id')
.put(checkLogs, isLoggedIn, UpdateOrderStatus);
// orderRouter
// .route('/update/:order_id')
// .put(checkLogs, isLoggedIn, orderValidators, validator, UpdateOrder);
orderRouter
.route('/update/school/:order_id')
.put(checkLogs, isLoggedIn, isAdmin, updateSchoolOrder);
orderRouter
.route('/update/teacher/:order_id')
.put(checkLogs, isLoggedIn, isAdmin, updateTeacherOrder);
orderRouter
.route('/instructor/:inst_designer_id')
.get(checkLogs, isLoggedIn, GetOrdersByInstructor);
orderRouter.route('/:order_id').get(checkLogs, isLoggedIn, GetOrderById);
export default orderRouter;