Files
ProxMenux/AppImage/app/api/system/route.ts
2025-09-29 17:57:00 +02:00

49 lines
1.3 KiB
TypeScript

import { type NextRequest, NextResponse } from "next/server"
export async function GET(request: NextRequest) {
console.log("[v0] API route /api/system called")
try {
const response = await fetch("http://localhost:8008/api/system", {
method: "GET",
headers: {
"Content-Type": "application/json",
},
// Add timeout to prevent hanging
signal: AbortSignal.timeout(5000),
})
if (!response.ok) {
throw new Error(`Flask server responded with status: ${response.status}`)
}
const systemData = await response.json()
console.log("[v0] Successfully fetched real system data from Flask:", systemData)
return NextResponse.json({
...systemData,
source: "flask",
})
} catch (error) {
console.error("[v0] Failed to fetch from Flask server:", error)
const fallbackData = {
cpu_usage: 0,
memory_usage: 0,
memory_total: 0,
memory_used: 0,
temperature: 0,
uptime: "Unknown",
load_average: [0, 0, 0],
hostname: "proxmox-server",
node_id: "pve-node",
timestamp: new Date().toISOString(),
source: "fallback",
error: "Flask server unavailable",
}
console.log("[v0] Returning fallback data:", fallbackData)
return NextResponse.json(fallbackData, { status: 503 })
}
}