import { Router } from "express"; import { body } from "express-validator"; import validateToken from "../middleware/validateToken"; import boatControllers from "../controllers/boat.controllers"; import handleValidationResult from "../middleware/handleValidationResult"; import isCoord from "../middleware/isCoord"; const boatsRouter = Router(); //show all boats boatsRouter.get("/api/boat/", boatControllers.showAllBoatsController); boatsRouter.get("/api/boatoverview/", boatControllers.getBoatOverview); //show boat by given id boatsRouter.get("/api/boat/:id", boatControllers.showBoatById); //delete a boat boatsRouter.delete( "/api/boat/:id", validateToken, isCoord, boatControllers.deleteBoatById ); //create boat boatsRouter.post( "/api/boat/", body("name").not().isEmpty(), body("boattype").not().isEmpty(), body("status").not().isEmpty(), handleValidationResult, validateToken, isCoord, boatControllers.createBoat ); //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(), handleValidationResult, validateToken, isCoord, boatControllers.updateBoatById ); //create boat boatsRouter.post( "/api/lock/:id", handleValidationResult, validateToken, boatControllers.lock ); //create boat boatsRouter.post( "/api/unlock/:id", handleValidationResult, validateToken, boatControllers.unlock ); export default boatsRouter;