/** * 차량 운행 이력 및 리포트 라우트 */ import { Router } from "express"; import { startTrip, endTrip, addTripLocation, getTripList, getTripDetail, getActiveTrip, cancelTrip, } from "../controllers/vehicleTripController"; import { getDailyReport, getWeeklyReport, getMonthlyReport, getSummaryReport, getDriverReport, getRouteReport, } from "../controllers/vehicleReportController"; import { authenticateToken } from "../middleware/authMiddleware"; const router = Router(); // 모든 라우트에 인증 적용 router.use(authenticateToken); // === 운행 관리 === // 운행 시작 router.post("/trip/start", startTrip); // 운행 종료 router.post("/trip/end", endTrip); // 위치 기록 추가 (연속 추적) router.post("/trip/location", addTripLocation); // 활성 운행 조회 (현재 진행 중) router.get("/trip/active", getActiveTrip); // 운행 취소 router.post("/trip/cancel", cancelTrip); // 운행 이력 목록 조회 router.get("/trips", getTripList); // 운행 상세 조회 (경로 포함) router.get("/trips/:tripId", getTripDetail); // === 리포트 === // 요약 통계 (대시보드용) router.get("/reports/summary", getSummaryReport); // 일별 통계 router.get("/reports/daily", getDailyReport); // 주별 통계 router.get("/reports/weekly", getWeeklyReport); // 월별 통계 router.get("/reports/monthly", getMonthlyReport); // 운전자별 통계 router.get("/reports/by-driver", getDriverReport); // 구간별 통계 router.get("/reports/by-route", getRouteReport); export default router;