local sort for no sort param driver

pull/548/head
微凉 2021-12-30 16:15:57 +08:00
parent 0f079827e5
commit 3331462229
8 changed files with 42 additions and 44 deletions

View File

@ -27,6 +27,18 @@ func (driver AliDrive) Config() base.DriverConfig {
func (driver AliDrive) Items() []base.Item {
return []base.Item{
{
Name: "refresh_token",
Label: "refresh token",
Type: base.TypeString,
Required: true,
},
{
Name: "root_folder",
Label: "root folder file_id",
Type: base.TypeString,
Required: false,
},
{
Name: "order_by",
Label: "order_by",
@ -41,18 +53,6 @@ func (driver AliDrive) Items() []base.Item {
Values: "ASC,DESC",
Required: false,
},
{
Name: "refresh_token",
Label: "refresh token",
Type: base.TypeString,
Required: true,
},
{
Name: "root_folder",
Label: "root folder file_id",
Type: base.TypeString,
Required: false,
},
{
Name: "limit",
Label: "limit",

View File

@ -16,6 +16,7 @@ type DriverConfig struct {
ApiProxy bool // 使用API中转的
NoNeedSetLink bool // 不需要设置链接的
NoCors bool // 不可以跨域
LocalSort bool // 本地排序
}
type Args struct {
@ -133,6 +134,24 @@ func GetDrivers() map[string][]Item {
},
}, res[k]...)
}
if v.Config().LocalSort {
res[k] = append(res[k], []Item{
{
Name: "order_by",
Label: "order_by",
Type: TypeSelect,
Values: "name,size,updated_at",
Required: false,
},
{
Name: "order_direction",
Label: "order_direction",
Type: TypeSelect,
Values: "ASC,DESC",
Required: false,
},
}...)
}
}
return res
}

View File

@ -20,6 +20,7 @@ func (driver FTP) Config() base.DriverConfig {
OnlyProxy: true,
NoLink: true,
NoNeedSetLink: true,
LocalSort: true,
}
}
@ -49,20 +50,6 @@ func (driver FTP) Items() []base.Item {
Type: base.TypeString,
Required: false,
},
{
Name: "order_by",
Label: "order_by",
Type: base.TypeSelect,
Values: "name,size,updated_at",
Required: false,
},
{
Name: "order_direction",
Label: "order_direction",
Type: base.TypeSelect,
Values: "ASC,DESC",
Required: false,
},
}
}
@ -187,7 +174,6 @@ func (driver FTP) Path(path string, account *model.Account) (*model.File, []mode
if err != nil {
return nil, nil, err
}
model.SortFiles(files, account)
return nil, files, nil
}

View File

@ -20,6 +20,7 @@ func (driver GoogleDrive) Config() base.DriverConfig {
OnlyProxy: true,
ApiProxy: true,
NoNeedSetLink: true,
LocalSort: true,
}
}

View File

@ -23,6 +23,7 @@ func (driver Native) Config() base.DriverConfig {
OnlyProxy: true,
NoLink: true,
NoNeedSetLink: true,
LocalSort: true,
}
}
@ -34,20 +35,6 @@ func (driver Native) Items() []base.Item {
Type: base.TypeString,
Required: true,
},
{
Name: "order_by",
Label: "order_by",
Type: base.TypeSelect,
Values: "name,size,updated_at",
Required: false,
},
{
Name: "order_direction",
Label: "order_direction",
Type: base.TypeSelect,
Values: "ASC,DESC",
Required: false,
},
}
}
@ -153,7 +140,7 @@ func (driver Native) Path(path string, account *model.Account) (*model.File, []m
if err != nil {
return nil, nil, err
}
model.SortFiles(files, account)
//model.SortFiles(files, account)
return nil, files, nil
}

View File

@ -17,6 +17,7 @@ func (driver PikPak) Config() base.DriverConfig {
return base.DriverConfig{
Name: "PikPak",
ApiProxy: true,
LocalSort: true,
}
}

View File

@ -18,6 +18,7 @@ func (driver Shandian) Config() base.DriverConfig {
return base.DriverConfig{
Name: "ShandianPan",
NoNeedSetLink: true,
LocalSort: true,
}
}

View File

@ -77,6 +77,9 @@ func Path(c *gin.Context) {
})
} else {
files = Hide(files, req.Path)
if driver.Config().LocalSort {
model.SortFiles(files, account)
}
c.JSON(200, common.Resp{
Code: 200,
Message: "folder",