Skip to main content

tdm_server_rust/sea_entity/
mangaepisodetb.rs

1//! `SeaORM` Entity, @generated by sea-orm-codegen 1.1.20
2
3use sea_orm::entity::prelude::*;
4use serde::{Deserialize, Serialize};
5
6/// mangaepisodetb 表的 SeaORM 行模型。
7/// 漫画话数主表,承载单话编号、负责人、文件、发布链接和 OSS 文件引用。
8#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)]
9#[sea_orm(table_name = "mangaepisodetb")]
10pub struct Model {
11    /// 漫画话数主键,自增 ID,是任务流转、文件、RSS 和统计的核心话数引用。 对应数据库列 `Id`。
12    #[sea_orm(column_name = "Id", primary_key)]
13    pub id: i32,
14    /// 所属漫画 ID,指向 mangatb,用于把话数归属到具体作品。 对应数据库列 `mangaId`。
15    #[sea_orm(column_name = "mangaId")]
16    pub manga_id: i32,
17    /// 话数编号,使用字符串兼容小数话、番外、卷内编号和非数字标题。 对应数据库列 `mangaEpisode`。
18    #[sea_orm(column_name = "mangaEpisode")]
19    pub manga_episode: String,
20    /// 话数分类(MAIN 正篇,EXTRA 番外和特典)。
21    #[sea_orm(column_name = "episodeType")]
22    pub episode_type: String,
23    /// 话数副标题或名称,可为空,用于列表和详情页补充展示。 对应数据库列 `mangaEpisodeName`。
24    #[sea_orm(column_name = "mangaEpisodeName")]
25    pub manga_episode_name: Option<String>,
26    /// 图源负责组员 ID,表示提供原图或原始素材的人。 对应数据库列 `providerId`。
27    #[sea_orm(column_name = "providerId")]
28    pub provider_id: Option<i32>,
29    /// 翻译负责组员 ID,表示当前话翻译任务的承接人。 对应数据库列 `translatorId`。
30    #[sea_orm(column_name = "translatorId")]
31    pub translator_id: Option<i32>,
32    /// 校对负责组员 ID,表示当前话校对任务的承接人。 对应数据库列 `proofreaderId`。
33    #[sea_orm(column_name = "proofreaderId")]
34    pub proofreader_id: Option<i32>,
35    /// 嵌字负责组员 ID,表示当前话嵌字或修图任务的承接人。 对应数据库列 `lettererId`。
36    #[sea_orm(column_name = "lettererId")]
37    pub letterer_id: Option<i32>,
38    /// 时轴负责组员 ID,主要用于动态漫画或视频类任务的时轴制作。 对应数据库列 `timerId`。
39    #[sea_orm(column_name = "timerId")]
40    pub timer_id: Option<i32>,
41    /// 审稿或发布负责组员 ID,表示最终审核和发布流程的负责人。 对应数据库列 `reviewerId`。
42    #[sea_orm(column_name = "reviewerId")]
43    pub reviewer_id: Option<i32>,
44    /// 话数创建时间,记录任务被建立或进入系统的时间。 对应数据库列 `setupTime`。
45    #[sea_orm(column_name = "setupTime")]
46    pub setup_time: DateTime,
47    /// 话数最近更新时间,通常随任务进度、文件或发布状态变更。 对应数据库列 `updateTime`。
48    #[sea_orm(column_name = "updateTime")]
49    pub update_time: DateTime,
50    /// 翻译稿本地历史路径,兼容旧数据,新增文件优先使用 OSS 字段。 对应数据库列 `translatorFile`。
51    #[sea_orm(column_name = "translatorFile")]
52    pub translator_file: Option<String>,
53    /// 校对稿本地历史路径,兼容旧数据,新增文件优先使用 OSS 字段。 对应数据库列 `proofreaderFile`。
54    #[sea_orm(column_name = "proofreaderFile")]
55    pub proofreader_file: Option<String>,
56    /// 时轴文件本地历史路径,兼容旧数据,新增文件优先使用 OSS 字段。 对应数据库列 `timerFile`。
57    #[sea_orm(column_name = "timerFile")]
58    pub timer_file: Option<String>,
59    /// 发布链接或成品链接,用于前台访问、下载和已发布状态判断。 对应数据库列 `publishLink`。
60    #[sea_orm(column_name = "publishLink")]
61    pub publish_link: Option<String>,
62    /// 图源文件在 OSS 表中的对象 ID,关联原始素材上传记录。 对应数据库列 `provider_file_oss_id`。
63    pub provider_file_oss_id: Option<i32>,
64    /// 翻译文件在 OSS 表中的对象 ID,关联翻译稿上传记录。 对应数据库列 `translator_file_oss_id`。
65    pub translator_file_oss_id: Option<i32>,
66    /// 校对文件在 OSS 表中的对象 ID,关联校对稿上传记录。 对应数据库列 `proofreader_file_oss_id`。
67    pub proofreader_file_oss_id: Option<i32>,
68    /// 嵌字成品文件在 OSS 表中的对象 ID,关联最终成品或嵌字文件。 对应数据库列 `letterer_file_oss_id`。
69    pub letterer_file_oss_id: Option<i32>,
70    /// 时轴文件在 OSS 表中的对象 ID,关联字幕或时间轴文件上传记录。 对应数据库列 `timer_file_oss_id`。
71    pub timer_file_oss_id: Option<i32>,
72}
73
74/// SeaORM 关系枚举。用于声明该实体可通过 SeaORM 自动推导的跨表关联。
75#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
76pub enum Relation {
77    /// 嵌字或成品文件的 OSS 关系,通过 letterer_file_oss_id 关联 oss.id。
78    #[sea_orm(
79        belongs_to = "super::oss::Entity",
80        from = "Column::LettererFileOssId",
81        to = "super::oss::Column::Id",
82        on_update = "Cascade",
83        on_delete = "SetNull"
84    )]
85    Oss4,
86    /// 校对文件的 OSS 关系,通过 proofreader_file_oss_id 关联 oss.id。
87    #[sea_orm(
88        belongs_to = "super::oss::Entity",
89        from = "Column::ProofreaderFileOssId",
90        to = "super::oss::Column::Id",
91        on_update = "Cascade",
92        on_delete = "SetNull"
93    )]
94    Oss3,
95    /// 图源文件的 OSS 关系,通过 provider_file_oss_id 关联 oss.id。
96    #[sea_orm(
97        belongs_to = "super::oss::Entity",
98        from = "Column::ProviderFileOssId",
99        to = "super::oss::Column::Id",
100        on_update = "Cascade",
101        on_delete = "SetNull"
102    )]
103    Oss2,
104    /// 翻译文件的 OSS 关系,通过 translator_file_oss_id 关联 oss.id。
105    #[sea_orm(
106        belongs_to = "super::oss::Entity",
107        from = "Column::TranslatorFileOssId",
108        to = "super::oss::Column::Id",
109        on_update = "Cascade",
110        on_delete = "SetNull"
111    )]
112    Oss1,
113}
114
115/// 使用 SeaORM 默认 ActiveModel 行为,当前不覆盖插入、更新或删除钩子。
116impl ActiveModelBehavior for ActiveModel {}