export type PersonHistorySeasonRaw = { seasonId: number; show: number; seasonNumber: number; startDate?: string; endDate?: string | null; seasonParticipants: any[]; }; export type PersonHistoryEntry = { showId: number; seasonId: number; seasonNumber: number; }; const PERSON_API_BASE = "http://45.157.177.99:8080/persons"; export async function getPersonHistory( personId: number ): Promise { const url = `${PERSON_API_BASE}/${personId}/history`; try { console.log("[getPersonHistory] Fetch:", url); const res = await fetch(url); if (!res.ok) throw new Error("History fetch failed " + res.status); const data: unknown = await res.json(); if (!Array.isArray(data)) { console.warn("History expected array, got:", data); return []; } return (data as PersonHistorySeasonRaw[]).map((s) => ({ showId: s.show, seasonId: s.seasonId, seasonNumber: s.seasonNumber, })); } catch (e) { console.error("getPersonHistory error:", e); return []; } }