[][src]Trait zotero::Patch

pub trait Patch<'a> {
    fn patch_request<T: Serialize>(
        &self,
        params: &str,
        json_body: T
    ) -> Result<Value, Box<dyn Error>>;
fn get_id(&self) -> &'a str; fn update_item<T: Serialize, S: AsRef<str> + Display>(
        &self,
        item_key: S,
        item_data: T
    ) -> Result<Value, Box<dyn Error>> { ... } }

Perform patch operations on Zotero items and collections.

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);
    };
};

Required methods

fn patch_request<T: Serialize>(
    &self,
    params: &str,
    json_body: T
) -> Result<Value, Box<dyn Error>>

fn get_id(&self) -> &'a str

Loading content...

Provided methods

fn update_item<T: Serialize, S: AsRef<str> + Display>(
    &self,
    item_key: S,
    item_data: T
) -> Result<Value, Box<dyn Error>>

Update a zotero item.

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);
    };
};
Loading content...

Implementors

impl<'a> Patch<'a> for Zotero<'a>[src]

Loading content...