Skip to main content

tdm_server_rust/sea_entity/
oss.rs

1//! `SeaORM` Entity, @generated by sea-orm-codegen 1.1.20
2
3use sea_orm::entity::prelude::*;
4use serde::{Deserialize, Serialize};
5
6/// oss 表的 SeaORM 行模型。
7/// OSS 对象存储表,保存上传文件的对象键、访问地址、桶信息和维护人信息。
8#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)]
9#[sea_orm(table_name = "oss")]
10pub struct Model {
11    /// OSS 对象主键,自增 ID,供话数文件等业务表引用。 对应数据库列 `id`。
12    #[sea_orm(primary_key)]
13    pub id: i32,
14    /// 原始文件名或展示文件名,用于下载时还原用户可读名称。 对应数据库列 `filename`。
15    pub filename: String,
16    /// 文件扩展名,保留上传文件类型以辅助下载、预览和校验。 对应数据库列 `file_ext`。
17    pub file_ext: String,
18    /// 对象存储键名,表示文件在存储桶中的唯一路径。 对应数据库列 `object_key`。
19    pub object_key: String,
20    /// 文件访问地址或签名下载地址基础值,用于前端下载与预览。 对应数据库列 `url`。
21    pub url: String,
22    /// 存储桶名称,用于区分不同环境或不同业务桶。 对应数据库列 `bucket_name`。
23    pub bucket_name: Option<String>,
24    /// 存储区域,用于定位 OSS 或 COS 服务所在地域。 对应数据库列 `region`。
25    pub region: Option<String>,
26    /// 文件记录创建时间,通常为上传完成入库时间。 对应数据库列 `create_time`。
27    pub create_time: Option<DateTime>,
28    /// 上传人组员 ID,用于追踪文件来源和权限判断。 对应数据库列 `create_by`。
29    pub create_by: Option<i32>,
30    /// 文件元数据最近更新时间。 对应数据库列 `update_time`。
31    pub update_time: Option<DateTime>,
32    /// 最近更新该文件元数据的组员 ID。 对应数据库列 `update_by`。
33    pub update_by: Option<i32>,
34}
35
36/// SeaORM 关系枚举。用于声明该实体可通过 SeaORM 自动推导的跨表关联。
37#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
38pub enum Relation {}
39
40/// 使用 SeaORM 默认 ActiveModel 行为,当前不覆盖插入、更新或删除钩子。
41impl ActiveModelBehavior for ActiveModel {}