feat: add API route trip-updates-by-route-day

This commit is contained in:
dancingCycle 2023-12-16 10:41:44 +01:00
parent 60383c40be
commit 35a1080508
3 changed files with 41 additions and 0 deletions

View File

@ -130,6 +130,9 @@ const tripsByRouteId = require('./route/trips-by-route-id');
//get trips by route_id and day YYY-M(M)-D(D)
const tripsByRouteDay = require('./route/trips-by-route-day');
//get trip updates by route_id and day YYY-M(M)-D(D)
const tripUpdatesByRouteDay = require('./route/trip-updates-by-route-day');
//get overall trip counts for calendar dates that belong to the specified route_id
const tripCalendarByRouteId = require('./route/trip-calendar-by-route-id');
@ -228,6 +231,8 @@ APP.use('/trip-count-day-route', tripCountDayRoute);
APP.use('/trip-calendar-by-agency-id', tripCalendarByAgencyId);
APP.use('/trip-calendar-by-route-id', tripCalendarByRouteId);
APP.use('/trips-by-route-day', tripsByRouteDay);
//trip updates
APP.use('/trip-updates-by-route-day', tripUpdatesByRouteDay);
//service
APP.use('/service', ROUTESERVICE);
/** TODO Disable this route as it is not working!

View File

@ -0,0 +1,16 @@
const express = require('express');
const router = express.Router();
const tripUpdatesByRouteDay = require('../service/trip-updates-by-route-day');
const utils=require('../utils');
router.get('/', async function(req, res, next) {
try {
res.json(await tripUpdatesByRouteDay.get(req.query.routeid, req.query.day));
} catch (err) {
console.error(`Error while getting trip updates by route_id and day, msg: `, err.message);
res.status(err.statusCode || 500).json(utils.MSGS.error);
}
});
module.exports = router;

View File

@ -0,0 +1,20 @@
require('dotenv').config();
const db = require('./db');
/**
* Get trips that belong to the certain route_id and day
*
* @return Array of trips
*/
async function get(routeid = 0, day = '2023-12-16') {
const schema = process.env.DB_SCHEMA || 'schema';
const query = `SELECT trip_id, trip_short_name, trip_headsign, timestamp_pgsql, route_id, route_short_name FROM ` + schema + `.vw_join_rts_trps_srvcs_pdts WHERE dates like '%${day}%' and route_id = '${routeid}';`
return await db.query(query);
};
module.exports = {
get
};