初始化
This commit is contained in:
25
internal/model/file.go
Normal file
25
internal/model/file.go
Normal file
@@ -0,0 +1,25 @@
|
||||
package model
|
||||
|
||||
// File 是一条已上传文件的元数据,对应 code_count 库的 pms_files 表;
|
||||
// 文件内容落盘在 storage_dir,本表只存相对路径与摘要。
|
||||
// 每条记录独占一个磁盘文件(name 唯一),删除记录时一并删文件;
|
||||
// 归属按 (user_id, team_id) 记录,素材库据此做"本人/团队管理员/超管"的可见与管理范围。
|
||||
// created_at 沿用 code_count 库的惯例存 RFC3339 字符串。
|
||||
type File struct {
|
||||
ID int64 `gorm:"primaryKey" json:"id"`
|
||||
// Name 是存储相对路径(也是访问路径),如 2026/08/13/<128位随机hex>.jpg。
|
||||
Name string `gorm:"size:191;uniqueIndex;not null" json:"name"`
|
||||
Original string `gorm:"size:255;not null;default:''" json:"original"`
|
||||
Mime string `gorm:"size:64;not null;default:''" json:"mime"`
|
||||
Size int64 `gorm:"not null;default:0" json:"size"`
|
||||
// SHA256 用于秒传去重:同一归属(user_id+team_id)重复上传直接复用已有记录。
|
||||
SHA256 string `gorm:"column:sha256;type:char(64);index;not null;default:''" json:"sha256"`
|
||||
// UserID 是上传者在 code_count 库 users 表的 id,0 表示未知。
|
||||
UserID int64 `gorm:"not null;default:0;index" json:"userId"`
|
||||
// TeamID 是上传时客户端的当前团队(code_count 库 teams 表 id),0 表示个人。
|
||||
TeamID int64 `gorm:"not null;default:0;index" json:"teamId"`
|
||||
Kind string `gorm:"size:16;not null;default:''" json:"kind"` // avatar | content
|
||||
CreatedAt string `gorm:"size:32;not null;default:''" json:"createdAt"`
|
||||
}
|
||||
|
||||
func (File) TableName() string { return "pms_files" }
|
||||
Reference in New Issue
Block a user