Documentation
¶
Index ¶
- type Additional
- type ArchiveDecompress
- type ArchiveDecompressResult
- type ArchiveGetter
- type ArchiveReader
- type Config
- type Copy
- type CopyResult
- type Driver
- type GetRooter
- type Getter
- type IRootId
- type IRootPath
- type Info
- type Item
- type Meta
- type Mkdir
- type MkdirResult
- type Move
- type MoveResult
- type Other
- type Progress
- type Put
- type PutResult
- type PutURL
- type PutURLResult
- type Reader
- type Reference
- type Remove
- type Rename
- type RenameResult
- type RootID
- type RootPath
- type Select
- type UpdateProgress
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Additional ¶
type Additional interface{}
type ArchiveDecompress ¶ added in v3.42.0
type ArchiveDecompressResult ¶ added in v3.42.0
type ArchiveDecompressResult interface { // ArchiveDecompress decompress an archive // when args.PutIntoNewDir, the new sub-folder should be named the same to the archive but without the extension // return each decompressed obj from the root path of the archive when args.PutIntoNewDir is false // return only the newly created folder when args.PutIntoNewDir is true // return errs.NotImplement to use internal archive tools to decompress ArchiveDecompress(ctx context.Context, srcObj, dstDir model.Obj, args model.ArchiveDecompressArgs) ([]model.Obj, error) }
type ArchiveGetter ¶ added in v3.42.0
type ArchiveGetter interface { // ArchiveGet get file by inner path // return errs.NotImplement to use internal archive tools to get the children // return errs.NotSupport if the folder structure should be acquired from model.ArchiveMeta.GetTree ArchiveGet(ctx context.Context, obj model.Obj, args model.ArchiveInnerArgs) (model.Obj, error) }
type ArchiveReader ¶ added in v3.42.0
type ArchiveReader interface { // GetArchiveMeta get the meta-info of an archive // return errs.WrongArchivePassword if the meta-info is also encrypted but provided password is wrong or empty // return errs.NotImplement to use internal archive tools to get the meta-info, such as the following cases: // 1. the driver do not support the format of the archive but there may be an internal tool do // 2. handling archives is a VIP feature, but the driver does not have VIP access GetArchiveMeta(ctx context.Context, obj model.Obj, args model.ArchiveArgs) (model.ArchiveMeta, error) // ListArchive list the children of model.ArchiveArgs.InnerPath in the archive // return errs.NotImplement to use internal archive tools to list the children // return errs.NotSupport if the folder structure should be acquired from model.ArchiveMeta.GetTree ListArchive(ctx context.Context, obj model.Obj, args model.ArchiveInnerArgs) ([]model.Obj, error) // Extract get url/filepath/reader of a file in the archive // return errs.NotImplement to use internal archive tools to extract Extract(ctx context.Context, obj model.Obj, args model.ArchiveInnerArgs) (*model.Link, error) }
type Config ¶
type Config struct { Name string `json:"name"` LocalSort bool `json:"local_sort"` OnlyLocal bool `json:"only_local"` OnlyProxy bool `json:"only_proxy"` NoCache bool `json:"no_cache"` NoUpload bool `json:"no_upload"` NeedMs bool `json:"need_ms"` // if need get message from user, such as validate code DefaultRoot string `json:"default_root"` CheckStatus bool `json:"-"` Alert string `json:"alert"` //info,success,warning,danger NoOverwriteUpload bool `json:"-"` // whether to support overwrite upload ProxyRangeOption bool `json:"-"` }
type CopyResult ¶ added in v3.7.1
type Meta ¶
type Meta interface { Config() Config // GetStorage just get raw storage, no need to implement, because model.Storage have implemented GetStorage() *model.Storage SetStorage(model.Storage) // GetAddition Additional is used for unmarshal of JSON, so need return pointer GetAddition() Additional // Init If already initialized, drop first Init(ctx context.Context) error Drop(ctx context.Context) error }
type MkdirResult ¶ added in v3.7.1
type MoveResult ¶ added in v3.7.1
type Progress ¶ added in v3.9.0
func NewProgress ¶ added in v3.9.0
func NewProgress(total int64, up UpdateProgress) *Progress
type Put ¶ added in v3.7.1
type Put interface {
Put(ctx context.Context, dstDir model.Obj, stream model.FileStreamer, up UpdateProgress) error
}
type PutResult ¶ added in v3.7.1
type PutResult interface {
Put(ctx context.Context, dstDir model.Obj, stream model.FileStreamer, up UpdateProgress) (model.Obj, error)
}
type PutURL ¶ added in v3.42.0
type PutURL interface { // PutURL directly put a URL into the storage // Applicable to index-based drivers like URL-Tree or drivers that support uploading files as URLs // Called when using SimpleHttp for offline downloading, skipping creating a download task PutURL(ctx context.Context, dstDir model.Obj, name, url string) error }
type PutURLResult ¶ added in v3.42.0
type PutURLResult interface { // PutURL directly put a URL into the storage // Applicable to index-based drivers like URL-Tree or drivers that support uploading files as URLs // Called when using SimpleHttp for offline downloading, skipping creating a download task PutURL(ctx context.Context, dstDir model.Obj, name, url string) (model.Obj, error) }
type Reader ¶
type Reader interface { // List files in the path // if identify files by path, need to set ID with path,like path.Join(dir.GetID(), obj.GetName()) // if identify files by id, need to set ID with corresponding id List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]model.Obj, error) // Link get url/filepath/reader of file Link(ctx context.Context, file model.Obj, args model.LinkArgs) (*model.Link, error) }
type RenameResult ¶ added in v3.7.1
type RootPath ¶
type RootPath struct {
RootFolderPath string `json:"root_folder_path"`
}
func (RootPath) GetRootPath ¶
func (*RootPath) SetRootPath ¶
type UpdateProgress ¶
type UpdateProgress model.UpdateProgress
Click to show internal directories.
Click to hide internal directories.