22 lines
750 B
JavaScript
22 lines
750 B
JavaScript
|
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,
|
||
|
};
|