aboutsummaryrefslogtreecommitdiff
path: root/src/response/nameserver.rs
blob: 76e7c856c248bc0ac3d65df42399a358639b8f4f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
use crate::common::nameserver::SlaveDns;

use serde_derive::{Deserialize, Serialize};

type DateTime = String;

/// A nameserver record. Contains DNS information as well as INWX metadata.
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct Record {
    pub id: i32,
    pub name: String,
    #[serde(rename = "type")]
    pub record_type: String,
    pub content: String,
    pub ttl: i32,
    #[serde(rename = "prio")]
    pub priority: i32,
    #[serde(rename = "urlRedirectType")]
    pub url_rdr_type: Option<String>,
    #[serde(rename = "urlRedirectTitle")]
    pub url_rdr_title: Option<String>,
    #[serde(rename = "urlRedirectDescription")]
    pub url_rdr_desc: Option<String>,
    #[serde(rename = "urlRedirectKeywords")]
    pub url_rdr_keywords: Option<String>,
    #[serde(rename = "urlRedirectFavIcon")]
    pub url_rdr_favicon: Option<String>,
    #[serde(rename = "urlAppend")]
    pub url_append: Option<bool>,
}

/// The records that match a search.
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct RecordInfo {
    #[serde(rename = "roId")]
    pub domain_id: Option<i32>,
    #[serde(rename = "domain")]
    pub domain_name: Option<String>,
    #[serde(rename = "type")]
    pub domain_type: Option<String>,
    #[serde(rename = "masterIp")]
    pub master_address: Option<String>,
    #[serde(rename = "lastZoneCheck")]
    pub last_zone_check: Option<DateTime>,
    #[serde(rename = "slaveDns")]
    pub slave_dns: Option<SlaveDns>,
    #[serde(rename = "SOAserial")]
    pub soa_serial: Option<String>,
    #[serde(rename = "record")]
    pub records: Option<Vec<Record>>,
}