mirror of
https://github.com/halejohn/Cloudreve.git
synced 2026-01-26 09:34:57 +08:00
Feat: WebDAV account management
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package model
|
||||
|
||||
import "github.com/jinzhu/gorm"
|
||||
import (
|
||||
"github.com/jinzhu/gorm"
|
||||
)
|
||||
|
||||
// Webdav 应用账户
|
||||
type Webdav struct {
|
||||
@@ -11,9 +13,29 @@ type Webdav struct {
|
||||
Root string `gorm:"type:text"` // 根目录
|
||||
}
|
||||
|
||||
// Create 创建账户
|
||||
func (webdav *Webdav) Create() (uint, error) {
|
||||
if err := DB.Create(webdav).Error; err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return webdav.ID, nil
|
||||
}
|
||||
|
||||
// GetWebdavByPassword 根据密码和用户查找Webdav应用
|
||||
func GetWebdavByPassword(password string, uid uint) (*Webdav, error) {
|
||||
webdav := &Webdav{}
|
||||
res := DB.Where("user_id = ? and password = ?", uid, password).First(webdav)
|
||||
return webdav, res.Error
|
||||
}
|
||||
|
||||
// ListWebDAVAccounts 列出用户的所有账号
|
||||
func ListWebDAVAccounts(uid uint) []Webdav {
|
||||
var accounts []Webdav
|
||||
DB.Where("user_id = ?", uid).Order("created_at desc").Find(&accounts)
|
||||
return accounts
|
||||
}
|
||||
|
||||
// DeleteWebDAVAccountByID 根据账户ID和UID删除账户
|
||||
func DeleteWebDAVAccountByID(id, uid uint) {
|
||||
DB.Where("user_id = ? and id = ?", uid, id).Delete(&Webdav{})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user