You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cloudreve/models/file.go

37 lines
872 B

5 years ago
package model
import (
"github.com/HFO4/cloudreve/pkg/util"
"github.com/jinzhu/gorm"
)
5 years ago
// File 文件
type File struct {
// 表字段
gorm.Model
Name string
SourceName string
UserID uint `gorm:"index:user_id"`
5 years ago
Size uint64
PicInfo string
FolderID uint `gorm:"index:folder_id"`
5 years ago
PolicyID uint
Dir string `gorm:"size:65536"`
}
// Create 创建文件记录
func (file *File) Create() (uint, error) {
if err := DB.Create(file).Error; err != nil {
util.Log().Warning("无法插入文件记录, %s", err)
return 0, err
}
return file.ID, nil
}
// GetFileByPathAndName 给定路径、文件名、用户ID查找文件
func GetFileByPathAndName(path string, name string, uid uint) (File, error) {
var file File
result := DB.Where("user_id = ? AND dir = ? AND name=?", uid, path, name).Find(&file)
return file, result.Error
}