mangadex_api/v5/upload/
upload_session_id.rs1pub 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#[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}