const express = require("express"); const router = express.Router(); const { authMiddleware, adminMiddleware } = require("../middleware"); const repo = require("../repo"); router.get("/bus-lines/:busLineId/stops", authMiddleware, async (req, res) => { const out = await repo.listLineStops(req); return res.status(out.statusCode).json(out.body); }); router.get( "/admin/bus-lines", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.listLines(req); return res.status(out.statusCode).json(out.body); }, ); router.post( "/admin/bus-lines", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.createLine(req); return res.status(out.statusCode).json(out.body); }, ); router.patch( "/admin/bus-lines/:busLineId", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.updateLine(req); return res.status(out.statusCode).json(out.body); }, ); router.get( "/admin/bus-lines/:busLineId/stops", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.listLineStopsDetailed(req); return res.status(out.statusCode).json(out.body); }, ); router.post( "/admin/bus-lines/:busLineId/stops", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.addLineStop(req); return res.status(out.statusCode).json(out.body); }, ); router.post( "/admin/bus-lines/:busLineId/stops/reorder", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.reorderLineStops(req); return res.status(out.statusCode).json(out.body); }, ); router.delete( "/admin/bus-lines/:busLineId", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.deleteLine(req); return res.status(out.statusCode).json(out.body); }, ); router.delete( "/admin/bus-lines/:busLineId/stops/:routeStopId", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.deleteLineStop(req); return res.status(out.statusCode).json(out.body); }, ); module.exports = router;