1
mirror of https://github.com/jakejarvis/domainstack.io.git synced 2025-12-02 19:33:48 -05:00
Files
domainstack.io/lib/schemas/dns.ts

25 lines
746 B
TypeScript

import { z } from "zod";
export const DnsResolverSchema = z.enum(["cloudflare", "google"]);
export const DnsTypeSchema = z.enum(["A", "AAAA", "MX", "TXT", "NS"]);
export const DnsRecordSchema = z.object({
type: DnsTypeSchema,
name: z.string(),
value: z.string(),
ttl: z.number().optional(),
priority: z.number().optional(),
isCloudflare: z.boolean().optional(),
});
export const DnsResolveResultSchema = z.object({
records: z.array(DnsRecordSchema),
resolver: DnsResolverSchema,
});
export type DnsResolver = z.infer<typeof DnsResolverSchema>;
export type DnsType = z.infer<typeof DnsTypeSchema>;
export type DnsRecord = z.infer<typeof DnsRecordSchema>;
export type DnsResolveResult = z.infer<typeof DnsResolveResultSchema>;