Files
nysoure/server/model/file.go
nyne 04d679f3f4 Implement s3 storage.
Use uuid as file id.
2025-05-13 11:57:14 +08:00

36 lines
699 B
Go

package model
import (
"gorm.io/gorm"
)
type File struct {
gorm.Model
UUID string `gorm:"uniqueIndex;not null"`
Filename string
Description string
StorageKey string
StorageID *uint `gorm:"default:null"`
Storage Storage
ResourceID uint
RedirectUrl string
Resource Resource `gorm:"foreignKey:ResourceID"`
UserID uint
User User `gorm:"foreignKey:UserID"`
Size int64
}
type FileView struct {
ID string `json:"id"`
Filename string `json:"filename"`
Description string `json:"description"`
}
func (f *File) ToView() *FileView {
return &FileView{
ID: f.UUID,
Filename: f.Filename,
Description: f.Description,
}
}