use serde::{Serialize, Deserialize};
#[derive(Debug, Serialize, Deserialize, Clone, Copy)]
pub enum Format {
#[serde(rename = "json")]
Json,
#[serde(rename = "yaml")]
Yaml,
}
impl Default for Format {
fn default() -> Self {
Format::Json
}
}
impl Format {
pub fn slug(&self) -> &'static str {
match self {
Format::Json => "json",
Format::Yaml => "yaml",
}
}
}
#[derive(Debug, Serialize, Deserialize, Clone, Copy)]
pub enum MediaType {
Audio,
Books,
FilmAndVideos,
Legislation,
Manuscripts,
Maps,
Newspapers,
Photos,
NotatedMusic,
WebArchives,
}
impl MediaType {
pub fn slug(&self) -> &'static str {
match self {
MediaType::Audio => "audio",
MediaType::Books => "books",
MediaType::FilmAndVideos => "film-and-videos",
MediaType::Legislation => "legislation",
MediaType::Manuscripts => "manuscripts",
MediaType::Maps => "maps",
MediaType::Newspapers => "newspapers",
MediaType::Photos => "photos",
MediaType::NotatedMusic => "notated-music",
MediaType::WebArchives => "web-archives",
}
}
}