flix_db/entity/watched/
episodes.rs

1//! Episode entity
2
3use flix_model::id::{RawId, ShowId};
4use flix_model::numbers::{EpisodeNumber, SeasonNumber};
5
6use chrono::NaiveDate;
7use sea_orm::{
8	ActiveModelBehavior, DeriveEntityModel, DerivePrimaryKey, DeriveRelation, EntityTrait,
9	EnumIter, PrimaryKeyTrait,
10};
11
12/// The database representation of a watched movie
13#[derive(Debug, Clone, DeriveEntityModel)]
14#[sea_orm(table_name = "flix_watched_episodes")]
15pub struct Model {
16	/// The episode's show's ID
17	#[sea_orm(primary_key, auto_increment = false)]
18	pub show: ShowId,
19	/// The episode's season's number
20	#[sea_orm(primary_key, auto_increment = false)]
21	pub season: SeasonNumber,
22	/// The episode's number
23	#[sea_orm(primary_key, auto_increment = false)]
24	pub episode: EpisodeNumber,
25	/// The user's ID
26	#[sea_orm(primary_key, auto_increment = false)]
27	pub user_id: RawId,
28	/// The date this episode was watched
29	pub watched_date: NaiveDate,
30}
31
32impl ActiveModelBehavior for ActiveModel {}
33
34/// Relation
35#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
36pub enum Relation {}