Files
homarr/packages/integrations/src/pi-hole/v6/pi-hole-schemas-v6.ts
2025-11-18 21:05:00 +01:00

30 lines
719 B
TypeScript

import { z } from "zod/v4";
export const sessionResponseSchema = z.object({
session: z.object({
valid: z.boolean(),
sid: z.string().nullable(),
message: z.string().nullable(),
}),
});
export const dnsBlockingGetSchema = z.object({
blocking: z.enum(["enabled", "disabled", "failed", "unknown"]).transform((value) => {
if (value === "failed") return undefined;
if (value === "unknown") return undefined;
return value;
}),
timer: z.number().nullable(),
});
export const statsSummaryGetSchema = z.object({
queries: z.object({
total: z.number(),
blocked: z.number(),
percent_blocked: z.number(),
}),
gravity: z.object({
domains_being_blocked: z.number(),
}),
});