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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// use std::error;
// use serde::Serialize;
// use serde_json::value::Value;
// /// Perform patch operations on Zotero items and collections.
// /// ```no_run
// /// use zotero::ZoteroInit;
// /// use zotero::Patch;
// /// use zotero::Get;
// /// use zotero::data_structure::item::ItemType;
// ///
// /// let z = ZoteroInit::set_user("123456789", "bZARysJ579K5SdmYuaAJ");
// /// let remote_item = z.get_item("B8ZNE3GH", None);
// ///
// /// if let Ok(mut result) = remote_item {
// /// if let ItemType::Book(bookdata) = &mut result.data {
// /// bookdata.title = "A new title".to_string();
// /// bookdata.publisher = "Doe editions".to_string();
// /// bookdata.creators = vec!();
// /// z.update_item(&bookdata.key, &bookdata);
// /// };
// /// };
// ///```
// pub trait Put<'a> {
// fn put_request<T: Serialize>(&self, params: &str, json_body: T) -> Result<Value, Box<dyn error::Error>>;
// fn get_id(&self) -> &'a str;
// /// Update a zotero item.
// /// ```no_run
// /// # use zotero::ZoteroInit;
// /// # use zotero::Patch;
// /// # use zotero::Get;
// /// # use zotero::data_structure::item::ItemType;
// /// let z = ZoteroInit::set_user("123456789", "bZARysJ579K5SdmYuaAJ");
// /// let remote_item = z.get_item("B8ZNE3GH", None);
// ///
// /// if let Ok(mut result) = remote_item {
// /// if let ItemType::Book(bookdata) = &mut result.data {
// /// bookdata.title = "A new title".to_string();
// /// bookdata.publisher = "Doe editions".to_string();
// /// bookdata.creators = vec!();
// /// z.update_item(&bookdata.key, &bookdata);
// /// };
// /// };
// ///```
// fn update_item<T: Serialize, S: AsRef<str> + std::fmt::Display> (&self, item_key: S, item_data: T) -> Result<Value, Box<dyn error::Error>> {
// let params = format!("/items/{}", item_key);
// self.put_request(¶ms, &item_data)
// }
// }