1use mime::Mime;
2use serde::{Deserialize, Serialize};
3
4use crate::types::{FileMeta, PhotoSize};
5
6#[serde_with_macros::skip_serializing_none]
10#[derive(Clone, Debug, Eq, Hash, PartialEq, Serialize, Deserialize)]
11pub struct Video {
12 #[serde(flatten)]
14 pub file: FileMeta,
15
16 pub width: u32,
18
19 pub height: u32,
21
22 pub duration: u32,
24
25 pub thumb: Option<PhotoSize>,
27
28 pub file_name: Option<String>,
30
31 #[serde(with = "crate::types::non_telegram_types::mime::opt_deser")]
33 pub mime_type: Option<Mime>,
34}