use flix_model::id::{CollectionId, MovieId, ShowId};
use flix_model::numbers::{EpisodeNumbers, SeasonNumber};
pub mod library;
pub mod generic;
pub mod collection;
pub mod movie;
pub mod episode;
pub mod season;
pub mod show;
#[derive(Debug, Clone)]
pub enum MediaRef<ID> {
Id(ID),
Slug(String),
}
#[derive(Debug)]
pub struct CollectionScan {
pub parent_ref: Option<MediaRef<CollectionId>>,
pub id_ref: MediaRef<CollectionId>,
pub poster_file_name: Option<String>,
}
#[derive(Debug)]
pub struct MovieScan {
pub parent_ref: Option<MediaRef<CollectionId>>,
pub id_ref: MediaRef<MovieId>,
pub media_file_name: String,
pub poster_file_name: Option<String>,
}
#[derive(Debug)]
pub struct ShowScan {
pub parent_ref: Option<MediaRef<CollectionId>>,
pub id_ref: MediaRef<ShowId>,
pub poster_file_name: Option<String>,
}
#[derive(Debug)]
pub struct SeasonScan {
pub show_ref: MediaRef<ShowId>,
pub season: SeasonNumber,
pub poster_file_name: Option<String>,
}
#[derive(Debug)]
pub struct EpisodeScan {
pub show_ref: MediaRef<ShowId>,
pub season: SeasonNumber,
pub episode: EpisodeNumbers,
pub media_file_name: String,
pub poster_file_name: Option<String>,
}