mangadex_api/v5/
upload.rs1use uuid::Uuid;
6
7use crate::v5::cover::manga_id::post::UploadCoverBuilder;
8
9use crate::HttpClientRef;
10
11pub mod begin;
12pub mod check_approval_required;
13pub mod get;
14pub mod upload_session_id;
15
16use self::begin::BeginEndpoint;
17use self::check_approval_required::CheckApprovalRequiredEndpoint;
18use self::get::GetUploadSessionBuilder;
19use self::upload_session_id::UploadSessionIdEndpoint;
20
21#[derive(Debug)]
23pub struct UploadBuilder {
24 http_client: HttpClientRef,
25}
26
27impl UploadBuilder {
28 #[doc(hidden)]
29 pub(crate) fn new(http_client: HttpClientRef) -> Self {
30 Self { http_client }
31 }
32
33 pub fn cover(&self, manga_id: Uuid) -> UploadCoverBuilder {
37 UploadCoverBuilder::default()
38 .manga_id(manga_id)
39 .http_client(self.http_client.clone())
40 }
41
42 pub fn get(&self) -> GetUploadSessionBuilder {
43 GetUploadSessionBuilder::default().http_client(self.http_client.clone())
44 }
45
46 pub fn begin(&self) -> BeginEndpoint {
47 BeginEndpoint::new(self.http_client.clone())
48 }
49
50 pub fn upload_session_id(&self, upload_session_id: Uuid) -> UploadSessionIdEndpoint {
51 UploadSessionIdEndpoint::new(self.http_client.clone(), upload_session_id)
52 }
53 pub fn check_approval_required(&self) -> CheckApprovalRequiredEndpoint {
54 CheckApprovalRequiredEndpoint::new(self.http_client.clone())
55 }
56}