From a349fd340fc63c476358237dbcaafb6ed4a2c521 Mon Sep 17 00:00:00 2001 From: A Farzat Date: Sun, 8 Mar 2026 21:47:32 +0300 Subject: Remove unused models, fields, and endpoints If they are ever needed again, they can be added back. Also set API endpoints fields to Url type instead of String. --- src/main.rs | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 7b73bf3..8712d4f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,7 +9,7 @@ use std::path::PathBuf; use crate::epub::{create_epub_archive, download_all_files}; use crate::http_client::build_authenticated_client; -use crate::models::{Chapter, EpubResponse, FileEntry, Paginated, SpineItem, TocNode}; +use crate::models::{Chapter, EpubResponse, FileEntry, Paginated}; use anyhow::{Context, Result, anyhow}; use clap::Parser; use directories::{BaseDirs, UserDirs}; @@ -44,24 +44,8 @@ async fn fetch_epub_data(client: &Client, bookid: &str) -> Result Ok(response) } -/// Fetches a direct array endpoint (no pagination, simple list). -async fn fetch_direct_array(client: &Client, url: &str) -> Result> -where - T: serde::de::DeserializeOwned, -{ - let response = client - .get(url) - .send() - .await? - .error_for_status()? - .json::>() - .await - .context("Failed to deserialize API response")?; - Ok(response) -} - /// Fetch a paginated API. -async fn fetch_all_pages(client: &reqwest::Client, mut url: String) -> Result> +async fn fetch_all_pages(client: &reqwest::Client, mut url: url::Url) -> Result> where T: serde::de::DeserializeOwned, { @@ -69,7 +53,7 @@ where loop { // GET current URL and deserialize into Paginated. let response = client - .get(&url) + .get(url) .send() .await? .error_for_status()? @@ -144,8 +128,6 @@ async fn main() -> Result<()> { let chapters: HashMap = chapters.into_iter().map(|c| (c.ourn.clone(), c)).collect(); let file_entries: Vec = fetch_all_pages(&client, epub_data.files.clone()).await?; - let spine_items: Vec = fetch_all_pages(&client, epub_data.spine.clone()).await?; - let toc_vec: Vec = fetch_direct_array(&client, &epub_data.table_of_contents).await?; let epub_root = data_root.join("files").join(&args.bookid); if !args.skip_download { -- cgit v1.2.3-70-g09d2