use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionStartRequest {
pub path: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionStartData {
pub cl_link: String,
pub expires_at: String,
pub max_concurrent_uploads: i64,
pub max_file_size: i64,
pub max_files: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionStartResponse {
pub data: SessionStartData,
pub err_message: String,
pub req_result: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionCompleteRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub commit_message: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionCompleteData {
pub cl_id: i64,
pub cl_link: String,
pub commit_id: String,
pub created_at: String,
pub files_count: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionCompleteResponse {
pub data: SessionCompleteData,
pub err_message: String,
pub req_result: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionFileData {
pub file_path: String,
pub uploaded_size: i64,
pub verified: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionFileResponse {
pub data: SessionFileData,
pub err_message: String,
pub req_result: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionManifestFile {
pub hash: String,
pub path: String,
pub size: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionManifestRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub commit_message: Option<String>,
pub files: Vec<SessionManifestFile>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionManifestUploadFile {
pub path: String,
pub reason: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionManifestData {
pub files_to_upload: Vec<SessionManifestUploadFile>,
pub files_unchanged: i64,
pub total_files: i64,
pub total_size: i64,
pub upload_size: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionManifestResponse {
pub data: SessionManifestData,
pub err_message: String,
pub req_result: bool,
}