| 152 | | { parseError: string } |
| 153 | |
| 154 | async function queryStatusAPI(): Promise<StatusResult> { |
| 155 | try { |
| 156 | const response = await fetch(SUMMARY_API_URL, { signal: AbortSignal.timeout(10_000) }) |
| 157 | if (!response.ok) return { httpError: response.status } |
| 158 | const parsed = StatusPageSummarySchema.safeParse(await response.json()) |
| 159 | if (!parsed.success) return { parseError: `unexpected API response: ${parsed.error.message}` } |
| 160 | return { summary: parsed.data } |
| 161 | } catch (e) { |
| 162 | return { networkError: e instanceof Error ? e.message : String(e) } |
| 163 | } |
| 164 | } |
| 165 | |
| 166 | /** Fetches status from the Prisma status page API and returns formatted output. */ |
| 167 | export async function fetchStatus(isJson: boolean): Promise<string> { |