Skip to main content

tdm_server_rust/sea_entity/
editor_page.rs

1//! `SeaORM` Entity:编辑器页面表 `editor_page`
2//!
3//! 一话的图片页面,来源于图源压缩包转图片 OSS 的结果。编辑器只消费 `image_url`。
4
5use sea_orm::entity::prelude::*;
6use serde::{Deserialize, Serialize};
7
8/// `editor_page` 行模型
9#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)]
10#[sea_orm(table_name = "editor_page")]
11pub struct Model {
12    /// 页面主键,自增 ID
13    #[sea_orm(primary_key)]
14    pub id: i64,
15    /// 所属话数 ID(mangaepisodetb.Id),分片键
16    pub episode_id: i32,
17    /// 页序号(从 0 起)
18    pub page_index: i32,
19    /// 图源 OSS 记录 ID(话数 provider_file_oss_id),仅作首次转换来源
20    pub source_oss_id: Option<i32>,
21    /// 压缩包内原始文件名
22    pub source_file_name: Option<String>,
23    /// 图片在图片 OSS 中的对象键
24    pub image_object_key: String,
25    /// 图片 OSS 桶名
26    pub image_bucket: Option<String>,
27    /// 图片访问 URL(CDN 直链)
28    pub image_url: String,
29    /// 图片像素宽度
30    pub image_width: Option<i32>,
31    /// 图片像素高度
32    pub image_height: Option<i32>,
33    /// 图片是否已成功上传到图片 OSS
34    pub uploaded: bool,
35    /// 该页翻译是否已确认完成
36    pub translation_completed: bool,
37    /// 创建时间(UTC TIMESTAMP,由前端负责本地化显示)
38    pub created_at: DateTime,
39    /// 更新时间(UTC TIMESTAMP,由前端负责本地化显示)
40    pub updated_at: DateTime,
41}
42
43/// SeaORM 关系枚举(暂无显式关联)
44#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
45pub enum Relation {}
46
47/// 使用 SeaORM 默认 ActiveModel 行为
48impl ActiveModelBehavior for ActiveModel {}