const express = require("express"); const router = express.Router(); const { authMiddleware } = require("../middleware"); const repo = require("../repo"); router.patch( "/driver/schedules/:scheduleId/status", authMiddleware, async (req, res) => { const out = await repo.updateDriverScheduleStatus(req); return res.status(out.statusCode).json(out.body); }, ); router.get("/schedules", async (req, res) => { const out = await repo.listSchedules(req); return res.status(out.statusCode).json(out.body); }); router.get("/schedules/overview", async (req, res) => { const out = await repo.getSchedulesOverview(req); return res.status(out.statusCode).json(out.body); }); router.get("/schedules/recurring", async (req, res) => { const out = await repo.listRecurringSchedules(req); return res.status(out.statusCode).json(out.body); }); router.get("/schedules/:scheduleId", async (req, res) => { const out = await repo.getScheduleById(req); return res.status(out.statusCode).json(out.body); }); router.get("/schedules/:scheduleId/stops", async (req, res) => { const out = await repo.getScheduleStops(req); return res.status(out.statusCode).json(out.body); }); router.post( "/driver/schedules/:scheduleId/stops/:stopOrder/passed", authMiddleware, async (req, res) => { const out = await repo.markStopPassed(req); return res.status(out.statusCode).json(out.body); }, ); router.get("/public/schedules/:scheduleId/progress", async (req, res) => { const out = await repo.getPublicScheduleProgress(req); return res.status(out.statusCode).json(out.body); }); module.exports = router;