Basic Routes

This commit is contained in:
Edward-1100
2025-11-19 17:52:29 -07:00
parent 0d33259f1e
commit a8fc313af3
10 changed files with 6341 additions and 31 deletions

View File

@@ -1,3 +1,52 @@
// - /api/v0/routes
// - /api/v0/route/:id
// - /api/v0/stops/:id
import express from "express";
import * as dal from "../dal/staticDal.js";
const router = express.Router();
router.get("/routes", (req, res) => {
const routes = dal.getRoutes();
res.json({meta: {returned: routes.length}, data: routes});
});
router.get("/routes/:routeId", (req, res) => {
const routeId = req.params.routeId;
let route = dal.getRouteById(routeId) ?? null;
if (route === null) {
const all = dal.getRoutes();
route = all.find(r => {
const rid = r.route_id ?? r.routeId ?? r.route;
return rid != null && String(rid) === String(routeId);
}) ?? null;
}
const routePath = dal.getRoutePath(routeId) ?? null;
let stations = dal.getStopsByRoute(routeId) ?? [];
res.json({data: {route, routePath, stations}});
});
router.get("/routes/:routeId/stations", (req, res) => {
const routeId = req.params.routeId;
const stations = dal.getStopsByRoute(routeId) ?? [];
res.json({meta: {routeId: String(routeId), returned: stations.length}, data: stations});
});
router.get("/stations", (req, res) => {
const route = req.query.route;
const stations = route ? (dal.getStopsByRoute(route) ?? []) : (dal.getStations() ?? []);
res.json({meta: {returned: stations.length}, data: stations});
});
router.get("/station/:stationId", (req, res) => {
const stationId = req.params.stationId;
const station = dal.getStationById(stationId);
if (!station) return res.status(404).json({error: "Station Was Not Found"});
res.json({data: station});
});
export default router;