fix(beszel): coerce port to number, handle la array from PocketBase

This commit is contained in:
2026-06-23 20:33:30 +01:00
parent 485a4ee67c
commit 7ac01d5a82
+7 -7
View File
@@ -9,18 +9,18 @@ import db from '../db.js'
// ── Zod schemas for Beszel API responses ──────────────────────────────────── // ── Zod schemas for Beszel API responses ────────────────────────────────────
const BeszelSystemInfo = z.object({ const BeszelSystemInfo = z.object({
cpu: z.number().default(0), cpu: z.coerce.number().default(0),
mp: z.number().default(0), mp: z.coerce.number().default(0),
dp: z.number().default(0), dp: z.coerce.number().default(0),
ct: z.number().default(0), ct: z.coerce.number().default(0),
la: z.number().default(0), la: z.union([z.number(), z.array(z.number())]).transform(v => Array.isArray(v) ? v[0] || 0 : v).default(0),
tu: z.number().default(0), tu: z.coerce.number().default(0),
}).default({ cpu: 0, mp: 0, dp: 0, ct: 0, la: 0, tu: 0 }) }).default({ cpu: 0, mp: 0, dp: 0, ct: 0, la: 0, tu: 0 })
const BeszelSystem = z.object({ const BeszelSystem = z.object({
id: z.string(), id: z.string(),
name: z.string(), name: z.string(),
host: z.string(), host: z.string(),
port: z.number().default(45876), port: z.coerce.number().default(45876),
status: z.string().default('unknown'), status: z.string().default('unknown'),
info: BeszelSystemInfo, info: BeszelSystemInfo,
created: z.string().optional(), created: z.string().optional(),