mangadex_api/v5/upload/
upload_session_id.rs

1pub mod batch;
2pub mod commit;
3pub mod delete;
4pub mod post;
5pub mod upload_session_file_id;
6
7use crate::HttpClientRef;
8
9use uuid::Uuid;
10
11use batch::BatchEndpoint;
12use commit::CommitEndpoint;
13use delete::AbandonUploadSessionBuilder;
14use post::UploadImagesBuilder;
15use upload_session_file_id::UploadSessionFileEndpoint;
16
17/// Statistics endpoint handler builder.
18#[derive(Clone, Debug)]
19pub struct UploadSessionIdEndpoint {
20    http_client: HttpClientRef,
21    upload_session_id: Uuid,
22}
23
24impl UploadSessionIdEndpoint {
25    #[doc(hidden)]
26    pub(crate) fn new(http_client: HttpClientRef, upload_session_id: Uuid) -> Self {
27        Self {
28            http_client,
29            upload_session_id,
30        }
31    }
32    pub fn batch(&self) -> BatchEndpoint {
33        BatchEndpoint::new(self.http_client.clone(), self.upload_session_id)
34    }
35    pub fn commit(&self) -> CommitEndpoint {
36        CommitEndpoint::new(self.http_client.clone(), self.upload_session_id)
37    }
38    pub fn delete(&self) -> AbandonUploadSessionBuilder {
39        AbandonUploadSessionBuilder::default()
40            .session_id(self.upload_session_id)
41            .http_client(self.http_client.clone())
42    }
43    pub fn post(&self) -> UploadImagesBuilder {
44        UploadImagesBuilder::default()
45            .session_id(self.upload_session_id)
46            .http_client(self.http_client.clone())
47    }
48    pub fn upload_session_file_id(
49        &self,
50        upload_session_file_id: Uuid,
51    ) -> UploadSessionFileEndpoint {
52        UploadSessionFileEndpoint::new(
53            self.http_client.clone(),
54            self.upload_session_id,
55            upload_session_file_id,
56        )
57    }
58}