mirror of
https://github.com/ajnart/homarr.git
synced 2025-11-14 17:26:26 +01:00
42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
|
|
import { z } from 'zod';
|
||
|
|
|
||
|
|
export const adGuardApiStatsResponseSchema = z.object({
|
||
|
|
time_units: z.enum(['hours']),
|
||
|
|
top_queried_domains: z.array(z.record(z.string(), z.number())),
|
||
|
|
top_clients: z.array(z.record(z.string(), z.number())),
|
||
|
|
top_blocked_domains: z.array(z.record(z.string(), z.number())),
|
||
|
|
dns_queries: z.array(z.number()),
|
||
|
|
blocked_filtering: z.array(z.number()),
|
||
|
|
replaced_safebrowsing: z.array(z.number()),
|
||
|
|
replaced_parental: z.array(z.number()),
|
||
|
|
num_dns_queries: z.number().min(0),
|
||
|
|
num_blocked_filtering: z.number().min(0),
|
||
|
|
num_replaced_safebrowsing: z.number().min(0),
|
||
|
|
num_replaced_safesearch: z.number().min(0),
|
||
|
|
num_replaced_parental: z.number().min(0),
|
||
|
|
avg_processing_time: z.number().min(0).max(1),
|
||
|
|
});
|
||
|
|
|
||
|
|
export const adGuardApiStatusResponseSchema = z.object({
|
||
|
|
version: z.string(),
|
||
|
|
language: z.string(),
|
||
|
|
dns_addresses: z.array(z.string()),
|
||
|
|
dns_port: z.number().positive(),
|
||
|
|
http_port: z.number().positive(),
|
||
|
|
protection_disabled_duration: z.number(),
|
||
|
|
protection_enabled: z.boolean(),
|
||
|
|
dhcp_available: z.boolean(),
|
||
|
|
running: z.boolean(),
|
||
|
|
});
|
||
|
|
|
||
|
|
export const adGuardApiFilteringStatusSchema = z.object({
|
||
|
|
filters: z.array(z.object({
|
||
|
|
url: z.string().url(),
|
||
|
|
name: z.string(),
|
||
|
|
last_updated: z.string().optional(),
|
||
|
|
id: z.number().nonnegative(),
|
||
|
|
rules_count: z.number().nonnegative(),
|
||
|
|
enabled: z.boolean(),
|
||
|
|
})),
|
||
|
|
});
|