Add setters to Video

This commit is contained in:
Temirkhan Myrzamadi 2020-07-28 20:39:26 +06:00
parent aa311fb96a
commit 7f4f77f0e6

View file

@ -35,3 +35,74 @@ pub struct Video {
/// File size.
pub file_size: Option<u32>,
}
impl Video {
pub fn new<S1, S2>(
file_id: S1,
file_unique_id: S2,
width: u32,
height: u32,
duration: u32,
) -> Self
where
S1: Into<String>,
S2: Into<String>,
{
Self {
file_id: file_id.into(),
file_unique_id: file_unique_id.into(),
width,
height,
duration,
thumb: None,
mime_type: None,
file_size: None,
}
}
pub fn file_id<S>(mut self, val: S) -> Self
where
S: Into<String>,
{
self.file_id = val.into();
self
}
pub fn file_unique_id<S>(mut self, val: S) -> Self
where
S: Into<String>,
{
self.file_unique_id = val.into();
self
}
pub fn width(mut self, val: u32) -> Self {
self.width = val;
self
}
pub fn height(mut self, val: u32) -> Self {
self.height = val;
self
}
pub fn duration(mut self, val: u32) -> Self {
self.duration = val;
self
}
pub fn thumb(mut self, val: PhotoSize) -> Self {
self.thumb = Some(val);
self
}
pub fn mime_type(mut self, val: MimeWrapper) -> Self {
self.mime_type = Some(val);
self
}
pub fn file_size(mut self, val: u32) -> Self {
self.file_size = Some(val);
self
}
}