const express = require("express"); const router = express.Router(); const { authMiddleware, adminMiddleware } = require("../middleware"); const repo = require("../repo"); router.get( "/admin/schedules", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.listAdminSchedules(req); return res.status(out.statusCode).json(out.body); }, ); router.post( "/admin/schedules", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.createAdminSchedule(req); return res.status(out.statusCode).json(out.body); }, ); router.put( "/admin/schedules/:scheduleId", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.updateAdminSchedule(req); return res.status(out.statusCode).json(out.body); }, ); router.post( "/admin/schedules/bulk", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.bulkCreateAdminSchedules(req); return res.status(out.statusCode).json(out.body); }, ); router.delete( "/admin/schedules/:scheduleId", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.deleteAdminSchedule(req); return res.status(out.statusCode).json(out.body); }, ); router.post( "/admin/check-driver-conflicts", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.checkDriverConflicts(req); return res.status(out.statusCode).json(out.body); }, ); router.post( "/admin/assign-schedules", authMiddleware, adminMiddleware, async (req, res) => { const out = await repo.assignSchedules(req); return res.status(out.statusCode).json(out.body); }, ); module.exports = router;