Feat: WebDAV mount folders

This commit is contained in:
HFO4
2020-02-18 13:45:59 +08:00
parent 86889e2fac
commit b4219927d6
8 changed files with 209 additions and 0 deletions

View File

@@ -30,6 +30,13 @@ func (folder *Folder) Create() (uint, error) {
return folder.ID, nil
}
// GetMountedFolders 列出已挂载存储策略的目录
func GetMountedFolders(uid uint) []Folder {
var folders []Folder
DB.Where("owner_id = ? and policy_id <> ?", uid, 0).Find(&folders)
return folders
}
// GetChild 返回folder下名为name的子目录不存在则返回错误
func (folder *Folder) GetChild(name string) (*Folder, error) {
var resFolder Folder
@@ -265,6 +272,11 @@ func (folder *Folder) Rename(new string) error {
return nil
}
// Mount 目录挂载
func (folder *Folder) Mount(new uint) error {
return DB.Model(&folder).Update("policy_id", new).Error
}
/*
实现 FileInfo.FileInfo 接口
TODO 测试