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 52 53 54
use serde::Deserialize; #[derive(Debug, Deserialize, Clone)] pub struct Status { status: String, message: Option<String>, } #[derive(Debug, Deserialize, Clone)] pub struct Record { id: String, name: String, #[serde(rename = "type")] record_type: String, content: String, ttl: String, #[serde(rename = "prio")] priority: Option<String>, notes: Option<String>, } #[derive(Debug, Deserialize, Clone)] pub struct PingResponse { #[serde(rename = "yourIp")] your_ip: String, #[serde(flatten)] status: Status, } #[derive(Debug, Deserialize, Clone)] pub struct CreateResponse { id: String, #[serde(flatten)] status: Status, } #[derive(Debug, Deserialize, Clone)] pub struct EditResponse { #[serde(flatten)] status: Status, } #[derive(Debug, Deserialize, Clone)] pub struct DeleteResponse { #[serde(flatten)] status: Status, } #[derive(Debug, Deserialize, Clone)] pub struct RetrieveResponse { records: Vec<Record>, #[serde(flatten)] status: Status, }