mirror of https://github.com/Xhofe/alist
chore: add refresh arg in list func
parent
97d4114e38
commit
68a125491b
|
@ -17,6 +17,7 @@ var notify = NewNotify()
|
|||
var client rpc.Client
|
||||
|
||||
func InitClient(timeout int) (string, error) {
|
||||
client = nil
|
||||
uri := setting.GetByKey(conf.Aria2Uri)
|
||||
secret := setting.GetByKey(conf.Aria2Secret)
|
||||
return InitAria2Client(uri, secret, timeout)
|
||||
|
|
|
@ -13,8 +13,8 @@ import (
|
|||
// So, the purpose of this package is to convert virtual path to actual path
|
||||
// then pass the actual path to the operations package
|
||||
|
||||
func List(ctx context.Context, path string) ([]model.Obj, error) {
|
||||
res, err := list(ctx, path)
|
||||
func List(ctx context.Context, path string, refresh ...bool) ([]model.Obj, error) {
|
||||
res, err := list(ctx, path, refresh...)
|
||||
if err != nil {
|
||||
log.Errorf("failed list %s: %+v", path, err)
|
||||
return nil, err
|
||||
|
|
|
@ -13,7 +13,7 @@ import (
|
|||
)
|
||||
|
||||
// List files
|
||||
func list(ctx context.Context, path string) ([]model.Obj, error) {
|
||||
func list(ctx context.Context, path string, refresh ...bool) ([]model.Obj, error) {
|
||||
meta := ctx.Value("meta").(*model.Meta)
|
||||
user := ctx.Value("user").(*model.User)
|
||||
storage, actualPath, err := operations.GetStorageAndActualPath(path)
|
||||
|
@ -26,7 +26,7 @@ func list(ctx context.Context, path string) ([]model.Obj, error) {
|
|||
}
|
||||
objs, err := operations.List(ctx, storage, actualPath, model.ListArgs{
|
||||
ReqPath: path,
|
||||
})
|
||||
}, refresh...)
|
||||
if err != nil {
|
||||
log.Errorf("%+v", err)
|
||||
if len(virtualFiles) != 0 {
|
||||
|
|
|
@ -22,6 +22,7 @@ type ListReq struct {
|
|||
common.PageReq
|
||||
Path string `json:"path" form:"path"`
|
||||
Password string `json:"password" form:"password"`
|
||||
Refresh bool `json:"refresh"`
|
||||
}
|
||||
|
||||
type DirReq struct {
|
||||
|
@ -67,7 +68,11 @@ func FsList(c *gin.Context) {
|
|||
common.ErrorStrResp(c, "password is incorrect", 403)
|
||||
return
|
||||
}
|
||||
objs, err := fs.List(c, req.Path)
|
||||
if !user.CanWrite() && !canWrite(meta, req.Path) && req.Refresh {
|
||||
common.ErrorStrResp(c, "Refresh without permission", 403)
|
||||
return
|
||||
}
|
||||
objs, err := fs.List(c, req.Path, req.Refresh)
|
||||
if err != nil {
|
||||
common.ErrorResp(c, err, 500)
|
||||
return
|
||||
|
|
Loading…
Reference in New Issue