zotero 0.0.2

Communicate with Zotero API
Documentation
use serde::Deserialize;

#[derive(Deserialize, Debug)]
/// A struct representing a KeyInfo
pub struct KeyInfo {
    key: String,
    #[serde(alias = "userID")]
    user_id: usize,
    username: String,
    access: Access,
}

#[derive(Deserialize, Debug)]
struct Access {
    user: User,
    groups: Option<Groups>,
}

#[derive(Deserialize, Debug)]
struct User {
    #[serde(default = "default_as_false")]
    library: bool,
    #[serde(default = "default_as_false")]
    files: bool,
    #[serde(default = "default_as_false")]
    notes: bool,
    #[serde(default = "default_as_false")]
    write: bool,
}

#[derive(Deserialize, Debug)]
struct Groups {
    all: Option<Group>,
}

#[derive(Deserialize, Debug)]
struct Group {
    #[serde(default = "default_as_false")]
    library: bool,
    #[serde(default = "default_as_false")]
    write: bool,
}