diff --git a/routes/drones.js b/routes/drones.js index 51da515..d06bf85 100644 --- a/routes/drones.js +++ b/routes/drones.js @@ -1,36 +1,46 @@ -const express = require('express'); +const express = require("express"); +const Drone = require("../models/Drone.model"); const router = express.Router(); -// require the Drone model here - -router.get('/drones', (req, res, next) => { - // Iteration #2: List the drones - // ... your code here +// List Drones +router.get("/", (req, res) => { + Drone.find() + .then((drones) => res.render("drones/list", { drones })) + .catch((err) => console.log("Error fetching drones:", err)); }); -router.get('/drones/create', (req, res, next) => { - // Iteration #3: Add a new drone - // ... your code here +// Create Drone (Form) +router.get("/create", (req, res) => { + res.render("drones/create-form"); }); -router.post('/drones/create', (req, res, next) => { - // Iteration #3: Add a new drone - // ... your code here +// Create Drone (POST) +router.post("/create", (req, res) => { + Drone.create(req.body) + .then(() => res.redirect("/drones")) + .catch((err) => console.log("Error creating drone:", err)); }); -router.get('/drones/:id/edit', (req, res, next) => { - // Iteration #4: Update the drone - // ... your code here +// Update Drone (Form) +router.get("/:id/edit", (req, res) => { + Drone.findById(req.params.id) + .then((drone) => res.render("drones/update-form", { drone })) + .catch((err) => console.log("Error finding drone:", err)); }); -router.post('/drones/:id/edit', (req, res, next) => { - // Iteration #4: Update the drone - // ... your code here +// Update Drone (PUT) +router.post("/:id/edit", (req, res) => { + Drone.findByIdAndUpdate(req.params.id, req.body, { new: true }) + .then(() => res.redirect("/drones")) + .catch((err) => console.log("Error updating drone:", err)); }); -router.post('/drones/:id/delete', (req, res, next) => { - // Iteration #5: Delete the drone - // ... your code here +// Delete Drone +router.post("/:id/delete", (req, res) => { + Drone.findByIdAndDelete(req.params.id) + .then(() => res.redirect("/drones")) + .catch((err) => console.log("Error deleting drone:", err)); }); module.exports = router; +