flix_db/entity/tmdb/
episodes.rs

1//! Season entity
2
3use flix_model::id::ShowId as FlixId;
4use flix_model::numbers::{EpisodeNumber, SeasonNumber};
5use flix_tmdb::model::id::ShowId;
6use seamantic::model::duration::Seconds;
7
8use chrono::NaiveDate;
9use sea_orm::{
10	ActiveModelBehavior, DeriveEntityModel, DerivePrimaryKey, DeriveRelation, EntityTrait,
11	EnumIter, PrimaryKeyTrait,
12};
13
14/// The database representation of a tmdb episode
15#[derive(Debug, Clone, DeriveEntityModel)]
16#[sea_orm(table_name = "flix_tmdb_episodes")]
17pub struct Model {
18	/// The episode's show's TMDB ID
19	#[sea_orm(primary_key, auto_increment = false)]
20	pub tmdb_show: ShowId,
21	/// The episode's season's TMDB season number
22	#[sea_orm(primary_key, auto_increment = false)]
23	pub tmdb_season: SeasonNumber,
24	/// The episode's TMDB episode number
25	#[sea_orm(primary_key, auto_increment = false)]
26	pub tmdb_episode: EpisodeNumber,
27	/// The episode's show's ID
28	pub flix_show: FlixId,
29	/// The episode's season's number
30	pub flix_season: SeasonNumber,
31	/// The episode's number
32	pub flix_episode: EpisodeNumber,
33	/// The date of the last update
34	pub last_update: NaiveDate,
35	/// The episode's runtime in seconds
36	pub runtime: Seconds,
37}
38
39impl ActiveModelBehavior for ActiveModel {}
40
41/// Relation
42#[derive(Debug, EnumIter, DeriveRelation)]
43pub enum Relation {}