use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Create {
pub collection: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub rkey: Option<String>,
pub value: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CreateResult {
pub cid: String,
pub uri: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub validation_status: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Delete {
pub collection: String,
pub rkey: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DeleteResult {}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Input {
pub repo: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub swap_commit: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub validate: Option<bool>,
pub writes: Vec<serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Output {
#[serde(skip_serializing_if = "Option::is_none")]
pub commit: Option<crate::com::atproto::repo::defs::CommitMeta>,
#[serde(skip_serializing_if = "Option::is_none")]
pub results: Option<Vec<serde_json::Value>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Update {
pub collection: String,
pub rkey: String,
pub value: serde_json::Value,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UpdateResult {
pub cid: String,
pub uri: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub validation_status: Option<String>,
}