diff --git a/app/api/cron/update-controllers/route.ts b/app/api/cron/update-controllers/route.ts index 9737b2a..480b49c 100644 --- a/app/api/cron/update-controllers/route.ts +++ b/app/api/cron/update-controllers/route.ts @@ -12,7 +12,7 @@ const facilityTypes = { } as const; const CZQM_AIRPORTS = ["CYHZ", "CYFC", "CYQM", "CYSJ", "CYZX", "CYYG", "CYYT", "CYQX", "CYYR", "LFVP", "CYQI", "CYAY", "CYDF", "CYJT"]; - +export const dynamic = 'force-dynamic' export async function GET() { try { const response = await fetch('https://data.vatsim.net/v3/vatsim-data.json'); @@ -30,12 +30,12 @@ export async function GET() { for (const controller of czqmControllers) { const facilityType = facilityTypes[controller.facility as keyof typeof facilityTypes]; const airport = CZQM_AIRPORTS.find(ap => controller.callsign.startsWith(ap)) || 'CZQM'; - await prisma.controllerSession.upsert({ where: { - id: parseInt(controller.cid), + id: parseInt(controller.logon_time.replace("-", "").replace("-", "").replace("T", "")) + controller.cid, }, create: { + id: parseInt(controller.logon_time.replace("-", "").replace("-", "").replace("T", "")) + controller.cid, cid: String(controller.cid), name: controller.name, callsign: controller.callsign, diff --git a/components/controller-profile.tsx b/components/controller-profile.tsx index a29be36..1817ea7 100644 --- a/components/controller-profile.tsx +++ b/components/controller-profile.tsx @@ -22,7 +22,7 @@ export function ControllerProfile({ sessions, loading }: ControllerProfileProps) } const totalTime = sessions.reduce((acc, session) => { - const duration = new Date(session.last_seen).getTime() - new Date(session.logon_time).getTime(); + const duration = new Date(session.lastSeen).getTime() - new Date(session.logonTime).getTime(); return acc + duration; }, 0); @@ -30,7 +30,7 @@ export function ControllerProfile({ sessions, loading }: ControllerProfileProps) const totalMinutes = Math.floor((totalTime % (1000 * 60 * 60)) / (1000 * 60)); // Get unique positions - const positions = [...new Set(sessions.map(s => s.facility_type))]; + const positions = [...new Set(sessions.map(s => s.facilityType))]; return (
@@ -86,16 +86,16 @@ export function ControllerProfile({ sessions, loading }: ControllerProfileProps) {sessions.map((session) => ( - + - {format(new Date(session.logon_time), "MMM d, yyyy")} + {format(new Date(session.logonTime), "MMM d, yyyy")} {session.callsign} - {session.facility_type} + {session.facilityType} {session.airport} {session.frequency} - {formatSessionDuration(session.logon_time, session.last_seen)} + {formatSessionDuration(session.logonTime, session.lastSeen)} ))} diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 99c6c75..2db671a 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -9,7 +9,7 @@ datasource db { model ControllerSession { id Int @id @default(autoincrement()) - cid String + cid String name String callsign String facilityType String