mirror of https://github.com/Xhofe/alist
fix(wopan): missing `familyID` on mkdir (close #4927)
parent
c4f901b201
commit
6c1c7e5cc0
|
@ -3,6 +3,7 @@ package template
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"github.com/Xhofe/wopan-sdk-go"
|
"github.com/Xhofe/wopan-sdk-go"
|
||||||
"github.com/alist-org/alist/v3/internal/driver"
|
"github.com/alist-org/alist/v3/internal/driver"
|
||||||
|
@ -15,7 +16,8 @@ import (
|
||||||
type Wopan struct {
|
type Wopan struct {
|
||||||
model.Storage
|
model.Storage
|
||||||
Addition
|
Addition
|
||||||
client *wopan.WoClient
|
client *wopan.WoClient
|
||||||
|
defaultFamilyID string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Wopan) Config() driver.Config {
|
func (d *Wopan) Config() driver.Config {
|
||||||
|
@ -34,6 +36,11 @@ func (d *Wopan) Init(ctx context.Context) error {
|
||||||
d.RefreshToken = refreshToken
|
d.RefreshToken = refreshToken
|
||||||
op.MustSaveDriverStorage(d)
|
op.MustSaveDriverStorage(d)
|
||||||
})
|
})
|
||||||
|
fml, err := d.client.FamilyUserCurrentEncode()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
d.defaultFamilyID = strconv.Itoa(fml.DefaultHomeId)
|
||||||
return d.client.InitData()
|
return d.client.InitData()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,7 +88,11 @@ func (d *Wopan) Link(ctx context.Context, file model.Obj, args model.LinkArgs) (
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Wopan) MakeDir(ctx context.Context, parentDir model.Obj, dirName string) error {
|
func (d *Wopan) MakeDir(ctx context.Context, parentDir model.Obj, dirName string) error {
|
||||||
_, err := d.client.CreateDirectory(d.getSpaceType(), parentDir.GetID(), dirName, d.FamilyID, func(req *resty.Request) {
|
familyID := d.FamilyID
|
||||||
|
if familyID == "" {
|
||||||
|
familyID = d.defaultFamilyID
|
||||||
|
}
|
||||||
|
_, err := d.client.CreateDirectory(d.getSpaceType(), parentDir.GetID(), dirName, familyID, func(req *resty.Request) {
|
||||||
req.SetContext(ctx)
|
req.SetContext(ctx)
|
||||||
})
|
})
|
||||||
return err
|
return err
|
||||||
|
|
Loading…
Reference in New Issue