use serde::Deserialize;
#[derive(Debug, Clone, Deserialize, PartialEq)]
pub struct AttachmentResource {
#[serde(default)]
pub r#type: Option<String>,
#[serde(default)]
pub id: Option<String>,
}
#[derive(Debug, Clone, Deserialize, PartialEq)]
pub struct AttachmentUploader {
#[serde(default)]
pub id: Option<String>,
#[serde(default)]
pub r#type: Option<String>,
#[serde(default)]
pub role: Option<String>,
#[serde(default)]
pub name: Option<String>,
}
#[derive(Debug, Clone, Deserialize, PartialEq)]
pub struct AttachmentInfo {
#[serde(default)]
pub guid: Option<String>,
#[serde(default)]
pub file_token: Option<String>,
#[serde(default)]
pub name: Option<String>,
#[serde(default)]
pub size: Option<i64>,
#[serde(default)]
pub resource: Option<AttachmentResource>,
#[serde(default)]
pub uploader: Option<AttachmentUploader>,
#[serde(default)]
pub is_cover: Option<bool>,
#[serde(default)]
pub uploaded_at: Option<String>,
#[serde(default)]
pub url: Option<String>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct UploadAttachmentResponse {
#[serde(default)]
pub items: Vec<AttachmentInfo>,
}
#[derive(Debug, Clone, Deserialize, Default)]
pub struct DeleteAttachmentResponse {}