Fix schedule ID and bus line ID types to ensure they are numbers in admin routes

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
Sven laptop
2026-05-07 15:22:40 +02:00
parent eabc6e42f6
commit 31ed605cd3
+15 -15
View File
@@ -1334,10 +1334,10 @@ app.get('/admin/schedules', authMiddleware, adminMiddleware, async (req, res) =>
const weekdays = parseWeekdaysValue(row.weekdays); const weekdays = parseWeekdaysValue(row.weekdays);
return { return {
id: row.id, id: Number(row.id),
busLineId: row.bus_line_id, busLineId: Number(row.bus_line_id),
busId: row.bus_id, busId: Number(row.bus_id),
driverId: row.driver_id, driverId: row.driver_id !== null && row.driver_id !== undefined ? Number(row.driver_id) : null,
driverName: row.driver_name || null, driverName: row.driver_name || null,
startTime: row.start_time, startTime: row.start_time,
endTime: row.end_time, endTime: row.end_time,
@@ -1450,10 +1450,10 @@ app.post('/admin/schedules', authMiddleware, adminMiddleware, async (req, res) =
res.status(201).json({ res.status(201).json({
schedule: { schedule: {
id: schedule.id, id: Number(schedule.id),
busLineId: schedule.bus_line_id, busLineId: Number(schedule.bus_line_id),
busId: schedule.bus_id, busId: Number(schedule.bus_id),
driverId: schedule.driver_id, driverId: schedule.driver_id !== null && schedule.driver_id !== undefined ? Number(schedule.driver_id) : null,
startTime: schedule.start_time, startTime: schedule.start_time,
endTime: schedule.end_time, endTime: schedule.end_time,
weekdays: weekdaysResult, weekdays: weekdaysResult,
@@ -1495,7 +1495,7 @@ app.delete('/admin/schedules/:scheduleId', authMiddleware, adminMiddleware, asyn
return res.status(404).json({ error: 'schedule_not_found' }); return res.status(404).json({ error: 'schedule_not_found' });
} }
res.json({ success: true, schedule: result.rows[0] }); res.json({ success: true, schedule: { id: Number(result.rows[0].id) } });
} catch (err) { } catch (err) {
console.error(err); console.error(err);
res.status(500).json({ error: 'internal_error', details: err.message }); res.status(500).json({ error: 'internal_error', details: err.message });
@@ -1563,9 +1563,9 @@ app.get('/schedules', async (req, res) => {
res.json({ res.json({
schedules: result.rows.map(row => ({ schedules: result.rows.map(row => ({
id: row.id, id: Number(row.id),
busLineId: row.bus_line_id, busLineId: Number(row.bus_line_id),
busId: row.bus_id, busId: Number(row.bus_id),
startTime: row.start_time, startTime: row.start_time,
endTime: row.end_time, endTime: row.end_time,
weekdays: row.weekdays ? (typeof row.weekdays === 'string' ? JSON.parse(row.weekdays) : row.weekdays) : [], weekdays: row.weekdays ? (typeof row.weekdays === 'string' ? JSON.parse(row.weekdays) : row.weekdays) : [],
@@ -1638,9 +1638,9 @@ app.get('/schedules/:scheduleId', async (req, res) => {
res.json({ res.json({
schedule: { schedule: {
id: row.id, id: Number(row.id),
busLineId: row.bus_line_id, busLineId: Number(row.bus_line_id),
busId: row.bus_id, busId: Number(row.bus_id),
startTime: row.start_time, startTime: row.start_time,
endTime: row.end_time, endTime: row.end_time,
status: row.status, status: row.status,