videoplayer/dao/file.go

78 lines
2.1 KiB
Go

package dao
import "gorm.io/gorm"
type File struct {
gorm.Model
// 存储文件名
FileStoreName string `gorm:"column:file_store_name;uniqueIndex:idx_file_name"`
FileName string `gorm:"column:file_name"`
FileSize int `gorm:"column:file_size"`
FileType string `gorm:"column:file_type"`
FilePath string `gorm:"column:file_path"`
AuthID int `gorm:"column:auth_id"`
}
func CreateFile(fileStoreName, fileName, fileType, filePath string, fileSize, authID int) uint {
file := File{FileStoreName: fileStoreName, FileName: fileName, FileType: fileType, FilePath: filePath, FileSize: fileSize, AuthID: authID}
result := DB.Debug().Create(&file)
if result.Error != nil {
return 0
}
return file.ID
}
func DeleteFileByID(id, user int) bool {
res := DB.Debug().Model(&File{}).Where("id = ? and auth_id = ?", id, user).Delete(&File{})
if res.Error != nil {
return false
}
return true
}
func FindFileByID(id, auth_id int) File {
var file File
DB.Debug().Where("id = ? and auth_id = ?", id, auth_id).First(&file)
return file
}
func FindFileByNames(fileName string, auth_id int) File {
var file File
DB.Debug().Where("file_name = ? and auth_id = ?", fileName, auth_id).First(&file)
return file
}
func FindFileByAuthID(auth_id int) []File {
var files []File
DB.Debug().Where("auth_id = ?", auth_id).Find(&files)
return files
}
func UpdateFileByID(id, auth_id int, fileStoreName, fileName, fileType, filePath string, fileSize int) bool {
pd := FindFileByID(id, auth_id)
if pd.ID == 0 {
return false
}
result := DB.Debug().Model(&File{}).Where("id = ? and auth_id = ?", id, auth_id).Updates(File{FileStoreName: fileStoreName, FileName: fileName, FileType: fileType, FilePath: filePath, FileSize: fileSize})
if result.Error != nil {
return false
}
return true
}
func DeleteFileByAuthID(auth_id int) bool {
res := DB.Debug().Model(&File{}).Where("auth_id = ?", auth_id).Delete(&File{})
if res.Error != nil {
return false
}
return true
}
func DeleteFileById(id int) bool {
res := DB.Debug().Model(&File{}).Where("id = ?", id).Delete(&File{})
if res.Error != nil {
return false
}
return true
}