fix(wopan): missing `familyID` on mkdir (close #4927)

pull/4930/head
Andy Hsu 2023-08-04 22:26:56 +08:00
parent c4f901b201
commit 6c1c7e5cc0
1 changed files with 13 additions and 2 deletions

View File

@ -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