(ctx context.Context, dir model.Obj, args model.ListArgs)
| 108 | } |
| 109 | |
| 110 | func (d *MoPan) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]model.Obj, error) { |
| 111 | var files []model.Obj |
| 112 | for page := 1; ; page++ { |
| 113 | data, err := d.client.QueryFiles(dir.GetID(), page, mopan.WarpParamOption( |
| 114 | func(j mopan.Json) { |
| 115 | j["orderBy"] = d.OrderBy |
| 116 | j["descending"] = d.OrderDirection == "desc" |
| 117 | }, |
| 118 | mopan.ParamOptionShareFile(d.CloudID), |
| 119 | )) |
| 120 | if err != nil { |
| 121 | return nil, err |
| 122 | } |
| 123 | |
| 124 | if len(data.FileListAO.FileList)+len(data.FileListAO.FolderList) == 0 { |
| 125 | break |
| 126 | } |
| 127 | |
| 128 | log.Debugf("[mopan] Phone: %s folder: %+v", d.Phone, data.FileListAO.FolderList) |
| 129 | files = append(files, utils.MustSliceConvert(data.FileListAO.FolderList, folderToObj)...) |
| 130 | files = append(files, utils.MustSliceConvert(data.FileListAO.FileList, fileToObj)...) |
| 131 | } |
| 132 | return files, nil |
| 133 | } |
| 134 | |
| 135 | func (d *MoPan) Link(ctx context.Context, file model.Obj, args model.LinkArgs) (*model.Link, error) { |
| 136 | data, err := d.client.GetFileDownloadUrl(file.GetID(), mopan.WarpParamOption(mopan.ParamOptionShareFile(d.CloudID))) |
nothing calls this directly
no test coverage detected