use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize, PartialEq, Clone)]
pub enum Kind {
Video(Video),
}
#[derive(Debug, Deserialize, Serialize, PartialEq, Clone)]
pub struct Video {
pub len: f64,
}
#[derive(Debug, Deserialize, Serialize, PartialEq, Clone)]
pub struct Blob {
pub filename: String,
pub preview: String,
pub title: String,
pub date: Option<String>,
pub size: usize,
pub kind: Kind,
}
#[derive(Debug, Deserialize, Serialize, PartialEq, Clone)]
pub struct Blobs {
pub blobs: Vec<Blob>,
}
impl Kind {
pub fn as_video(&self) -> Option<&Video> {
match self {
Self::Video(v) => Some(v),
}
}
}