mangadex_api/v5/
cover.rs

1//! Cover art endpoint handler.
2//!
3//! <https://api.mangadex.org/docs/swagger.html#/Cover>
4
5pub mod cover_id;
6pub mod get;
7pub mod manga_id;
8
9use uuid::Uuid;
10
11use crate::v5::cover::get::ListCoverBuilder;
12use crate::HttpClientRef;
13
14use self::cover_id::CoverIdEndpoint;
15use self::manga_id::MangaIdEndpoint;
16
17/// Cover art endpoint handler builder.
18#[derive(Debug)]
19pub struct CoverBuilder {
20    http_client: HttpClientRef,
21}
22
23impl CoverBuilder {
24    #[doc(hidden)]
25    pub(crate) fn new(http_client: HttpClientRef) -> Self {
26        Self { http_client }
27    }
28
29    /// Search a list of cover art.
30    ///
31    /// <https://api.mangadex.org/swagger.html#/Cover/get-cover>
32    pub fn get(&self) -> ListCoverBuilder {
33        ListCoverBuilder::default().http_client(self.http_client.clone())
34    }
35
36    pub fn cover_id(&self, cover_id: Uuid) -> CoverIdEndpoint {
37        CoverIdEndpoint::new(self.http_client.clone(), cover_id)
38    }
39    pub fn manga_id(&self, manga_id: Uuid) -> MangaIdEndpoint {
40        MangaIdEndpoint::new(self.http_client.clone(), manga_id)
41    }
42}