use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use crate::RecordType;
#[derive(Serialize, Deserialize, Debug)]
pub struct Account {
pub id: u32,
pub email: String,
pub plan_identifier: String,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct Accounts {
#[serde(rename = "data")]
pub accounts: Vec<Account>
}
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct GetRecord<T>
{
pub id: u64,
pub zone_id: String,
pub name: String,
pub content: T,
pub ttl: u32,
#[serde(rename = "type")]
pub rtype: RecordType,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct Records<T>
{
#[serde(rename = "data")]
pub records: Vec<GetRecord<T>>
}
#[derive(Serialize, Deserialize, Debug)]
pub struct CreateRecord {
pub name: String,
#[serde(rename = "type")]
pub rtype: RecordType,
pub content: String,
pub ttl: u32,
}
#[derive(Serialize, Deserialize, Debug)]
pub struct UpdateRecord {
pub content: String,
}