use pushkin_core::envelope::CheckResult;
use serde::{Deserialize, Serialize};
pub const PROTOCOL_VERSION: u32 = 1;
#[derive(Debug, Serialize, Deserialize)]
#[serde(deny_unknown_fields, rename_all = "camelCase", tag = "kind")]
pub enum Request {
#[serde(rename_all = "camelCase")]
Check {
v: u32,
file_path: String,
content: String,
},
Ping {
v: u32,
},
Shutdown {
v: u32,
},
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(deny_unknown_fields, rename_all = "camelCase")]
pub struct DaemonInfo {
pub pid: u32,
pub version: String,
pub read_only: bool,
}
#[derive(Debug, Serialize, Deserialize)]
#[serde(deny_unknown_fields, rename_all = "camelCase", tag = "kind")]
pub enum Response {
#[serde(rename_all = "camelCase")]
Check {
result: CheckResult,
},
#[serde(rename_all = "camelCase")]
Pong {
info: DaemonInfo,
},
ShuttingDown,
#[serde(rename_all = "camelCase")]
Error {
message: String,
},
}