feat: virtual path
This commit is contained in:
@ -1,7 +1,6 @@
|
||||
package file
|
||||
|
||||
import (
|
||||
"github.com/Xhofe/alist/drivers/operate"
|
||||
"github.com/Xhofe/alist/model"
|
||||
"github.com/Xhofe/alist/server/common"
|
||||
"github.com/gin-gonic/gin"
|
||||
@ -18,31 +17,18 @@ func Folder(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
var files = make([]model.File, 0)
|
||||
var err error
|
||||
if model.AccountsCount() > 1 && (req.Path == "/" || req.Path == "") {
|
||||
files, err = model.GetAccountFiles()
|
||||
if err != nil {
|
||||
common.ErrorResp(c, err, 500)
|
||||
return
|
||||
}
|
||||
} else {
|
||||
account, path, driver, err := common.ParsePath(req.Path)
|
||||
if err != nil {
|
||||
common.ErrorResp(c, err, 500)
|
||||
return
|
||||
}
|
||||
file, rawFiles, err := operate.Path(driver, account, path)
|
||||
if err != nil {
|
||||
common.ErrorResp(c, err, 500)
|
||||
return
|
||||
}
|
||||
if file != nil {
|
||||
common.ErrorStrResp(c, "Not folder", 400)
|
||||
}
|
||||
for _, file := range rawFiles {
|
||||
if file.IsDir() {
|
||||
files = append(files, file)
|
||||
}
|
||||
_, rawFiles, _, _, _, err := common.Path(req.Path)
|
||||
if err != nil {
|
||||
common.ErrorResp(c, err, 500)
|
||||
return
|
||||
}
|
||||
if rawFiles == nil {
|
||||
common.ErrorStrResp(c, "not a folder", 400)
|
||||
return
|
||||
}
|
||||
for _, file := range rawFiles {
|
||||
if file.IsDir() {
|
||||
files = append(files, file)
|
||||
}
|
||||
}
|
||||
c.JSON(200, common.Resp{
|
||||
|
Reference in New Issue
Block a user