const express = require("express"); const Report = require("../models/Report"); const auth = require("../middleware/auth"); const router = express.Router(); // Get all reports router.get("/", async (req, res) => { try { const reports = await Report.find() .populate("street", ["name"]) .populate("user", ["name"]); res.json(reports); } catch (err) { console.error(err.message); res.status(500).send("Server error"); } }); // Create a report router.post("/", auth, async (req, res) => { const { street, issue } = req.body; try { const newReport = new Report({ street, user: req.user.id, issue, }); const report = await newReport.save(); res.json(report); } catch (err) { console.error(err.message); res.status(500).send("Server error"); } }); // Resolve a report router.put("/:id", auth, async (req, res) => { try { const report = await Report.findById(req.params.id); if (!report) { return res.status(404).json({ msg: "Report not found" }); } report.status = "resolved"; await report.save(); res.json(report); } catch (err) { console.error(err.message); res.status(500).send("Server error"); } }); module.exports = router;