icydns/src/types/dns.interfaces.ts

34 lines
598 B
TypeScript

import { DNSRecordType } from './dns.enum';
export interface DNSRecord {
[key: string]: string | number | boolean | undefined;
name: string;
type: DNSRecordType;
value: string;
forDeletion?: boolean;
}
export interface SOARecord extends DNSRecord {
nameserver: string;
email: string;
serial: number;
refresh: number;
retry: number;
expire: number;
minimum: number;
}
export interface DNSZone {
ttl: number;
records: DNSRecord[];
includes: string[];
}
export interface CachedZone {
name: string;
file: string;
zone: DNSZone;
added: Date;
changed: Date;
}