open-library-api-rs 0.1.0

Async Rust client for the Open Library API
Documentation
// v0.0.1
use serde::{Deserialize, Serialize};

/// Response from the reading-log endpoints.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ReadingLog {
    #[serde(default)]
    pub reading_log_entries: Vec<ReadingLogEntry>,
}

/// A single reading-log entry.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ReadingLogEntry {
    #[serde(default)]
    pub work: Option<ReadingLogWork>,
    #[serde(default)]
    pub logged_edition: Option<String>,
    #[serde(default)]
    pub logged_date: Option<String>,
}

/// The work referenced in a reading-log entry.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ReadingLogWork {
    pub key: String,
    #[serde(default)]
    pub title: Option<String>,
    #[serde(default)]
    pub author_names: Option<Vec<String>>,
    #[serde(default)]
    pub cover_id: Option<i64>,
    #[serde(default)]
    pub cover_edition_key: Option<String>,
    #[serde(default)]
    pub first_publish_year: Option<i32>,
}