1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
use reqwest::Client; use serde_derive::{Deserialize, Serialize}; #[derive(Serialize, Deserialize, Debug)] pub struct Document<T> { #[serde(skip_serializing_if = "String::is_empty")] _id: String, #[serde(skip_serializing_if = "String::is_empty")] _key: String, #[serde(skip_serializing_if = "String::is_empty")] _rev: String, #[serde(flatten)] pub document: T, } impl<T> Document<T> { pub fn new(data: T) -> Self { Document { document: data, _id: String::new(), _key: String::new(), _rev: String::new(), } } }