Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions drivers/thunder/driver.go
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,32 @@ func (xc *XunLeiCommon) Put(ctx context.Context, dstDir model.Obj, file model.Fi
return nil
}

func (xc *XunLeiCommon) GetDetails(ctx context.Context) (*model.StorageDetails, error) {
var about AboutResponse
_, err := xc.Request(API_URL+"/about", http.MethodGet, func(r *resty.Request) {
r.SetContext(ctx)
}, &about)
if err != nil {
return nil, err
}

total, err := strconv.ParseInt(about.Quota.Limit, 10, 64)
if err != nil {
return nil, err
}
used, err := strconv.ParseInt(about.Quota.Usage, 10, 64)
if err != nil {
return nil, err
}

return &model.StorageDetails{
DiskUsage: model.DiskUsage{
TotalSpace: total,
UsedSpace: used,
},
}, nil
}

func (xc *XunLeiCommon) getFiles(ctx context.Context, folderId string) ([]model.Obj, error) {
files := make([]model.Obj, 0)
var pageToken string
Expand Down
18 changes: 18 additions & 0 deletions drivers/thunder/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -347,3 +347,21 @@ type ReviewData struct {
Deviceid string `json:"deviceid"`
Devicesign string `json:"devicesign"`
}

type AboutResponse struct {
// Kind string `json:"kind"`
Quota struct {
// Kind string `json:"kind"`
Limit string `json:"limit"`
Usage string `json:"usage"`
// UsageInTrash string `json:"usage_in_trash"`
// PlayTimesLimit string `json:"play_times_limit"`
// PlayTimesUsage string `json:"play_times_usage"`
// IsUnlimited bool `json:"is_unlimited"`
// UpgradeType string `json:"upgrade_type"`
} `json:"quota"`
// ExpiresAt string `json:"expires_at"`
// Quotas struct {
// } `json:"quotas"`
// IsSearchFlushed bool `json:"is_search_flushed"`
}
26 changes: 26 additions & 0 deletions drivers/thunder_browser/driver.go
Original file line number Diff line number Diff line change
Expand Up @@ -543,6 +543,32 @@ func (xc *XunLeiBrowserCommon) Put(ctx context.Context, dstDir model.Obj, stream
return nil
}

func (xc *XunLeiBrowserCommon) GetDetails(ctx context.Context) (*model.StorageDetails, error) {
var about AboutResponse
_, err := xc.Request(API_URL+"/about", http.MethodGet, func(r *resty.Request) {
r.SetContext(ctx)
}, &about)
if err != nil {
return nil, err
}

total, err := strconv.ParseInt(about.Quota.Limit, 10, 64)
if err != nil {
return nil, err
}
used, err := strconv.ParseInt(about.Quota.Usage, 10, 64)
if err != nil {
return nil, err
}

return &model.StorageDetails{
DiskUsage: model.DiskUsage{
TotalSpace: total,
UsedSpace: used,
},
}, nil
}

func (xc *XunLeiBrowserCommon) getFiles(ctx context.Context, dir model.Obj, path string) ([]model.Obj, error) {
files := make([]model.Obj, 0)
var pageToken string
Expand Down
7 changes: 7 additions & 0 deletions drivers/thunder_browser/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -376,3 +376,10 @@ type ReviewData struct {
Deviceid string `json:"deviceid"`
Devicesign string `json:"devicesign"`
}

type AboutResponse struct {
Quota struct {
Limit string `json:"limit"`
Usage string `json:"usage"`
} `json:"quota"`
}
26 changes: 26 additions & 0 deletions drivers/thunderx/driver.go
Original file line number Diff line number Diff line change
Expand Up @@ -423,6 +423,32 @@ func (xc *XunLeiXCommon) Put(ctx context.Context, dstDir model.Obj, file model.F
return nil
}

func (xc *XunLeiXCommon) GetDetails(ctx context.Context) (*model.StorageDetails, error) {
var about AboutResponse
_, err := xc.Request(API_URL+"/about", http.MethodGet, func(r *resty.Request) {
r.SetContext(ctx)
}, &about)
if err != nil {
return nil, err
}

total, err := strconv.ParseInt(about.Quota.Limit, 10, 64)
if err != nil {
return nil, err
}
used, err := strconv.ParseInt(about.Quota.Usage, 10, 64)
if err != nil {
return nil, err
}

return &model.StorageDetails{
DiskUsage: model.DiskUsage{
TotalSpace: total,
UsedSpace: used,
},
}, nil
}

func (xc *XunLeiXCommon) getFiles(ctx context.Context, folderId string) ([]model.Obj, error) {
files := make([]model.Obj, 0)
var pageToken string
Expand Down
7 changes: 7 additions & 0 deletions drivers/thunderx/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -303,3 +303,10 @@ type Media struct {
IsVisible bool `json:"is_visible"`
Category string `json:"category"`
}

type AboutResponse struct {
Quota struct {
Limit string `json:"limit"`
Usage string `json:"usage"`
} `json:"quota"`
}
Loading