86 lines
1.9 KiB
Rust
86 lines
1.9 KiB
Rust
use serde::{Deserialize, Serialize};
|
|
use std::fmt::Display;
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
pub struct CreateUploadRequest {
|
|
pub file_id: String,
|
|
pub parent_dir: String,
|
|
pub content_type: String,
|
|
}
|
|
|
|
impl Display for CreateUploadRequest {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
write!(
|
|
f,
|
|
"CreateUploadRequest: file_id: {}, content_type: {}",
|
|
self.file_id, self.content_type
|
|
)
|
|
}
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
pub struct CreateUploadResponse {
|
|
pub file_id: String,
|
|
pub upload_id: String,
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
pub struct UploadPartData {
|
|
pub file_id: String,
|
|
pub upload_id: String,
|
|
pub part_number: i32,
|
|
pub body: Vec<u8>,
|
|
}
|
|
|
|
impl Display for UploadPartData {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
write!(
|
|
f,
|
|
"UploadPartRequest: file_id: {}, upload_id: {}, part_number: {}, size:{}",
|
|
self.file_id,
|
|
self.upload_id,
|
|
self.part_number,
|
|
self.body.len()
|
|
)
|
|
}
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize, Debug)]
|
|
pub struct UploadPartResponse {
|
|
pub e_tag: String,
|
|
pub part_num: i32,
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
pub struct CompleteUploadRequest {
|
|
pub file_id: String,
|
|
pub parent_dir: String,
|
|
pub upload_id: String,
|
|
pub parts: Vec<CompletedPartRequest>,
|
|
}
|
|
|
|
impl Display for CompleteUploadRequest {
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
write!(
|
|
f,
|
|
"CompleteUploadRequest: file_id: {}, upload_id: {}, parts: {}",
|
|
self.file_id,
|
|
self.upload_id,
|
|
self.parts.len()
|
|
)
|
|
}
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
pub struct CompletedPartRequest {
|
|
pub e_tag: String,
|
|
pub part_number: i32,
|
|
}
|
|
|
|
#[derive(Serialize, Deserialize)]
|
|
pub struct CompleteUploadResponse {
|
|
pub file_id: String,
|
|
pub upload_id: String,
|
|
pub parts: Vec<CompletedPartRequest>,
|
|
}
|