Snai3i-MarketPlace / backend / src / routes / order.router.ts
order.router.ts
Raw
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;