use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct VaultDeleteBody {
pub id: String,
pub force: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expected_version: Option<u32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
}
#[cfg(test)]
mod vault_tests {
use super::*;
#[test]
fn an_unset_delete_member_is_absent() {
let body = VaultDeleteBody {
id: "secret-1".into(),
force: false,
expected_version: None,
reason: None,
};
assert_eq!(
serde_json::to_value(&body).expect("serialises"),
serde_json::json!({ "id": "secret-1", "force": false })
);
}
}