Skip to content
Snippets Groups Projects
boat.routes.ts 1.53 KiB
Newer Older
alrwasheda's avatar
alrwasheda committed
import { Router } from "express";
import { body } from "express-validator";
alrwasheda's avatar
alrwasheda committed
import validateToken from "../middleware/validateToken";
alrwasheda's avatar
alrwasheda committed
import boatControllers from "../controllers/boat.controllers";
import handleValidationResult from "../middleware/handleValidationResult";
import isCoord from "../middleware/isCoord";
alrwasheda's avatar
alrwasheda committed
const boatsRouter = Router();
alrwasheda's avatar
alrwasheda committed

//show all boats
alrwasheda's avatar
alrwasheda committed
boatsRouter.get("/api/boat/", boatControllers.showAllBoatsController);
fu1106jv's avatar
fu1106jv committed
boatsRouter.get("/api/boatoverview/", boatControllers.getBoatOverview);

//show boat by given id
alrwasheda's avatar
alrwasheda committed
boatsRouter.get("/api/boat/:id", boatControllers.showBoatById);

//delete a boat
alrwasheda's avatar
alrwasheda committed
boatsRouter.delete(
  "/api/boat/:id",
  validateToken,
  isCoord,
alrwasheda's avatar
alrwasheda committed
  boatControllers.deleteBoatById
);
alrwasheda's avatar
alrwasheda committed

//create boat
boatsRouter.post(
  "/api/boat/",
  body("name").not().isEmpty(),
  body("boattype").not().isEmpty(),
fu1106jv's avatar
fu1106jv committed
  body("status").not().isEmpty(),
  handleValidationResult,
  validateToken,
  isCoord,
  boatControllers.createBoat
);

alrwasheda's avatar
alrwasheda committed
//update boat by id
boatsRouter.patch(
  "/api/boat/:id/",
  body("name").if(body("name").exists()).not().isEmpty(),
  body("boattype").if(body("boattype").exists()).not().isEmpty(),
  body("status").if(body("status").exists()).not().isEmpty(),
alrwasheda's avatar
alrwasheda committed
  handleValidationResult,
  validateToken,
  isCoord,
alrwasheda's avatar
alrwasheda committed
  boatControllers.updateBoatById
fu1106jv's avatar
fu1106jv committed
//create boat
boatsRouter.post(
  "/api/lock/:id",
  handleValidationResult,
  validateToken,
  boatControllers.lock
);
//create boat
boatsRouter.post(
  "/api/unlock/:id",
  handleValidationResult,
  validateToken,
  boatControllers.unlock
);

alrwasheda's avatar
alrwasheda committed
export default boatsRouter;