diff options
Diffstat (limited to 'src/models.rs')
| -rw-r--r-- | src/models.rs | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/src/models.rs b/src/models.rs index 174b983..843744d 100644 --- a/src/models.rs +++ b/src/models.rs @@ -1,12 +1,13 @@ use serde::Deserialize; -// --- Models for the Search API --- - -#[derive(Debug, Deserialize)] -pub struct SearchResponse { - pub results: Vec<SearchResult>, +/// Generic Model for paginated API. +#[derive(Debug, serde::Deserialize)] +pub struct Paginated<T> { + pub next: Option<String>, + pub results: Vec<T>, } +/// Model for the Search API. #[derive(Debug, Deserialize)] pub struct SearchResult { pub title: String, @@ -15,8 +16,7 @@ pub struct SearchResult { pub cover_url: String, } -// --- Models for the EPUB API --- - +/// Model for the EPUB API. #[derive(Debug, Deserialize)] pub struct EpubResponse { pub publication_date: String, @@ -24,14 +24,6 @@ pub struct EpubResponse { pub files: String, // This is a URL to the resource files } -// --- Generic Model for paginated API --- - -#[derive(Debug, serde::Deserialize)] -pub struct Paginated<T> { - pub next: Option<String>, - pub results: Vec<T>, -} - /// Model for chapters API. #[derive(Debug, Deserialize)] pub struct Chapter { |
