use serde::{Deserialize, Serialize};
use crate::config::BindizrConfig;
#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
#[serde(rename_all = "snake_case")]
pub(crate) enum DaemonCommandKind {
Status,
TokenCreate,
TokenList,
TokenDelete,
GetZone,
ListZones,
CreateZone,
DeleteZone,
GetRecord,
ListRecords,
CreateRecord,
DeleteRecord,
NotifyZone,
}
#[derive(Serialize, Deserialize, Debug)]
pub(crate) struct DaemonCommand {
pub command: DaemonCommandKind,
pub data: serde_json::Value,
}
#[derive(Serialize, Deserialize, Debug)]
pub(crate) struct DaemonResponse {
pub message: String,
pub data: serde_json::Value,
}
#[derive(Serialize, Deserialize, Debug)]
pub(crate) struct DaemonStatusResponse {
pub pid: Option<u32>,
pub version: String,
pub config: BindizrConfig,
}