use chrono::NaiveDate;
use super::{CollectionId, MovieGenre, MovieId};
#[derive(Debug, serde::Deserialize)]
pub struct Movie {
pub id: MovieId,
#[serde(rename = "belongs_to_collection")]
pub collection: Option<InCollection>,
pub title: String,
pub overview: String,
pub genres: Vec<MovieGenre>,
pub release_date: NaiveDate,
pub status: MovieStatus,
}
#[derive(Debug, serde::Deserialize)]
pub struct InCollection {
pub id: CollectionId,
}
#[derive(Debug, serde::Deserialize)]
pub enum MovieStatus {
#[serde(rename = "Canceled")]
Canceled,
#[serde(rename = "In Production")]
InProduction,
#[serde(rename = "Planned")]
Planned,
#[serde(rename = "Post Production")]
PostProduction,
#[serde(rename = "Released")]
Released,
#[serde(rename = "Rumored")]
Rumored,
}