Add ad guard home (#937)

*  Add add guard home

*  Add request for blocked domains and fix request for blocked queries

* ♻️ PR feedback

*  Fix tests
This commit is contained in:
Manuel
2023-05-20 14:42:15 +02:00
committed by GitHub
parent 85dfb5bb58
commit fb52c4b003
15 changed files with 644 additions and 255 deletions

View File

@@ -0,0 +1,41 @@
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(),
})),
});