use serde::{Serialize, Deserialize};
use uuid::Uuid;
use crate::api::models::AsyncFile;
#[derive(Debug, Serialize, Deserialize, Default, Clone, Builder)]
#[builder(setter(into, prefix = "with", strip_option))]
pub struct UploadRequest {
pub group_chat_id: Uuid,
pub file_name: String,
pub mime_type: String,
pub content: Vec<u8>,
pub meta: FileMeta,
}
#[derive(Debug, Serialize, Deserialize, Default, Clone, Builder)]
#[builder(setter(into, prefix = "with", strip_option))]
pub struct FileMeta {
pub duration: Option<u128>,
pub captions: Option<String>,
}
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct UploadResponse {
pub result: AsyncFile
}