Skip to main content

open_library_api_rs/models/
reading_log.rs

1// v0.0.1
2use serde::{Deserialize, Serialize};
3
4/// Response from the reading-log endpoints.
5#[derive(Debug, Clone, Serialize, Deserialize)]
6pub struct ReadingLog {
7    #[serde(default)]
8    pub reading_log_entries: Vec<ReadingLogEntry>,
9}
10
11/// A single reading-log entry.
12#[derive(Debug, Clone, Serialize, Deserialize)]
13pub struct ReadingLogEntry {
14    #[serde(default)]
15    pub work: Option<ReadingLogWork>,
16    #[serde(default)]
17    pub logged_edition: Option<String>,
18    #[serde(default)]
19    pub logged_date: Option<String>,
20}
21
22/// The work referenced in a reading-log entry.
23#[derive(Debug, Clone, Serialize, Deserialize)]
24pub struct ReadingLogWork {
25    pub key: String,
26    #[serde(default)]
27    pub title: Option<String>,
28    #[serde(default)]
29    pub author_names: Option<Vec<String>>,
30    #[serde(default)]
31    pub cover_id: Option<i64>,
32    #[serde(default)]
33    pub cover_edition_key: Option<String>,
34    #[serde(default)]
35    pub first_publish_year: Option<i32>,
36}