Add find by headcode for train services
Signed-off-by: Fred Boniface <fred@fjla.uk>
This commit is contained in:
22
src/services/trainService.services.js
Normal file
22
src/services/trainService.services.js
Normal file
@@ -0,0 +1,22 @@
|
||||
const log = require('../utils/log.utils');
|
||||
const db = require('./dbAccess.services');
|
||||
const clean = require('../utils/sanitizer.utils');
|
||||
|
||||
async function findByHeadcode(headcode) {
|
||||
const sanitizedHeadcode = clean.removeNonAlphanumeric(headcode);
|
||||
log.out(`trainServiceServices.findByHeadcode: Searching for headcode ${sanitizedHeadcode}`, 'dbug');
|
||||
const now = new Date();
|
||||
const dayMap = ['su', 'm', 't', 'w', 'th', 'f', 's'];
|
||||
const shortDay = dayMap[now.getDay()]; // Fetch short day from map
|
||||
const query = {
|
||||
headcode: sanitizedHeadcode,
|
||||
scheduleStartDate: {$lte: now},
|
||||
scheduleEndDate: {$gte: now},
|
||||
daysRun: {$in: [shortDay]}
|
||||
};
|
||||
return db.query('timetable', query);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
findByHeadcode,
|
||||
};
|
||||
Reference in New Issue
Block a user