ali_drive

package
v0.0.0-...-9bec60d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 5, 2021 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrBodyIsNotStream    = errors.New("only workaround for handling big body stream")
	ErrBodyIsNotCloneable = errors.New("cloneable only workaround for handling big body stream")
)

Functions

This section is empty.

Types

type Ali

type Ali struct {
	Headers [][2]string `json:"headers"`
	// contains filtered or unexported fields
}

func NewAli

func NewAli(suppress suppress.ISuppress) *Ali

func (*Ali) AcquireToken

func (y *Ali) AcquireToken(reqBody *ApiAcquireTokenRequest) *ApiAcquireTokenResponse

func (*Ali) FileCreateWithFolders

func (y *Ali) FileCreateWithFolders(reqBody *ApiFileCreateWithFoldersRequest) *ApiFileCreateWithFoldersResponse

func (*Ali) FileCreateWithProof

func (y *Ali) FileCreateWithProof(reqBody *ApiFileCreateWithProofRequest) *ApiFileCreateWithProofResponse

func (*Ali) FileDeleteById

func (y *Ali) FileDeleteById(reqBody *ApiFileDeleteByIdRequest) *ApiFileDeleteByIdResponse

func (*Ali) FileGetById

func (y *Ali) FileGetById(reqBody *ApiFileGetByIdRequest) *ApiFileGetByIdResponse

func (*Ali) FileGetList

func (y *Ali) FileGetList(reqBody *ApiFileGetListRequest) *ApiFileGetListResponse

func (*Ali) FileGetPathById

func (y *Ali) FileGetPathById(reqBody *ApiFileGetPathByIdRequest) *ApiFileGetPathByIdResponse

func (*Ali) FileSearch

func (y *Ali) FileSearch(reqBody *ApiFileSearchRequest) *ApiFileSearchResponse

func (*Ali) FileUploadComplete

func (y *Ali) FileUploadComplete(reqBody *ApiFileUploadCompleteRequest) *ApiFileUploadCompleteResponse

func (*Ali) FileUploadPart

func (y *Ali) FileUploadPart(reqBody *ApiFileUploadPartRequest) *ApiFileUploadPartResponse

func (*Ali) GetAccessToken

func (y *Ali) GetAccessToken() string

func (*Ali) InjectSemaError

func (y *Ali) InjectSemaError(statusCode int, msg *ApiErrorResponse)

func (*Ali) RefreshToken

func (y *Ali) RefreshToken(refreshToken string) *ApiAcquireTokenResponse

func (*Ali) SetAccessToken

func (y *Ali) SetAccessToken(s string)

func (*Ali) UploadFile

func (y *Ali) UploadFile(req *UploadFileRequest) bool

type AliHttpError

type AliHttpError struct {
	// you should know that it is *resty.Response if you want to access it
	Response   interface{}
	Caller     string
	StatusCode int
	Message    string
}

func (*AliHttpError) Error

func (a *AliHttpError) Error() string

type AliSemaError

type AliSemaError struct {
	// you should know that it is *resty.Response if you want to access it
	Response   interface{}
	Caller     string
	StatusCode int
	*ApiErrorResponse
}

func (*AliSemaError) Error

func (a *AliSemaError) Error() string

type ApiAcquireTokenRequest

type ApiAcquireTokenRequest struct {
	GrantType    string `json:"grant_type"`
	RefreshToken string `json:"refresh_token"`
}

type ApiAcquireTokenResponse

type ApiAcquireTokenResponse struct {
	AccessToken    string   `json:"access_token"`
	Avatar         string   `json:"avatar"`
	DefaultDriveId string   `json:"default_drive_id"`
	DeviceId       string   `json:"device_id"`
	ExistLink      []string `json:"exist_link"`
	ExpireTime     string   `json:"expire_time"`
	ExpiresIn      int      `json:"expires_in"`
	IsFirstLogin   bool     `json:"is_first_login"`
	NeedLink       bool     `json:"need_link"`
	NeedRpVerify   bool     `json:"need_rp_verify"`
	NickName       string   `json:"nick_name"`
	PinSetup       bool     `json:"pin_setup"`
	RefreshToken   string   `json:"refresh_token"`
	Role           string   `json:"role"`
	State          string   `json:"state"`
	Status         string   `json:"status"`
	TokenType      string   `json:"token_type"`
	UserId         string   `json:"user_id"`
	UserName       string   `json:"user_name"`
}

type ApiErrorResponse

type ApiErrorResponse struct {
	Code      string `json:"code"`
	Message   string `json:"message"`
	RequestId string `json:"requestId"`
}

type ApiFileCreateWithFoldersRequest

type ApiFileCreateWithFoldersRequest struct {
	DriveID      string `json:"drive_id"`
	ParentFileID string `json:"parent_file_id"`

	Name          string `json:"name"`
	CheckNameMode string `json:"check_name_mode"`
	Type          string `json:"type"`

	PartInfoList    []PartInfo `json:"part_info_list"`
	Size            int64      `json:"size"`
	ContentHash     string     `json:"content_hash,omitempty"`
	ContentHashName string     `json:"content_hash_name,omitempty"`
	ProofHash       string     `json:"proof_code,omitempty"`
	ProofHashName   string     `json:"proof_version,omitempty"`
}

type ApiFileCreateWithFoldersResponse

type ApiFileCreateWithFoldersResponse struct {
	DriveDirentID

	PartInfoList []PartInfo `json:"part_info_list"`
	Message      string     `json:"message"`
	ParentFileID string     `json:"parent_file_id"`
	UploadID     string     `json:"upload_id"`
	Type         string     `json:"type"`
	DomainID     string     `json:"domain_id"`
	FileName     string     `json:"file_name"`
	EncryptMode  string     `json:"encrypt_mode"`
}

type ApiFileCreateWithProofRequest

type ApiFileCreateWithProofRequest struct {
	DriveID       string      `json:"drive_id"`
	PartInfoList  []*PartInfo `json:"part_info_list"`
	ParentFileID  string      `json:"parent_file_id"`
	Name          string      `json:"name"`
	Type          string      `json:"type"`
	CheckNameMode string      `json:"check_name_mode"`
	Size          int64       `json:"size"`
	PreHash       string      `json:"pre_hash"`
}

type ApiFileCreateWithProofResponse

type ApiFileCreateWithProofResponse struct {
	UploadID     string      `json:"upload_id"`
	FileID       string      `json:"file_id"`
	PartInfoList []*PartInfo `json:"part_info_list"`
}

type ApiFileDeleteByIdRequest

type ApiFileDeleteByIdRequest struct {
	DriveDirentID
}

type ApiFileDeleteByIdResponse

type ApiFileDeleteByIdResponse struct {
	DriveDirentID

	Message     string `json:"message"`
	DomainID    string `json:"domain_id"`
	AsyncTaskID string `json:"async_task_id"`
}

type ApiFileGetByIdRequest

type ApiFileGetByIdRequest struct {
	DriveDirentID
}

type ApiFileGetByIdResponse

type ApiFileGetByIdResponse struct {
	File
	Message string `json:"message"`
	Trashed bool   `json:"trashed"`
}

type ApiFileGetListRequest

type ApiFileGetListRequest struct {
	GetAll                bool   `json:"get_all"`
	DriveID               string `json:"drive_id"`
	ParentFileID          string `json:"parent_file_id"`
	Marker                string `json:"marker"`
	Limit                 int    `json:"limit"`
	All                   bool   `json:"all"`
	URLExpireSec          int    `json:"url_expire_sec"`
	ImageThumbnailProcess string `json:"image_thumbnail_process"`
	ImageURLProcess       string `json:"image_url_process"`
	VideoThumbnailProcess string `json:"video_thumbnail_process"`
	Fields                string `json:"fields"`
	OrderBy               string `json:"order_by"`
	OrderDirection        string `json:"order_direction"`
}

type ApiFileGetListResponse

type ApiFileGetListResponse struct {
	Message    string  `json:"message"`
	Items      []*File `json:"items"`
	NextMarker string  `json:"next_marker"`
}

type ApiFileGetPathByIdRequest

type ApiFileGetPathByIdRequest struct {
	DriveDirentID
}

type ApiFileGetPathByIdResponse

type ApiFileGetPathByIdResponse struct {
	Message string  `json:"message"`
	Items   []*File `json:"items"`
}

type ApiFileSearchRequest

type ApiFileSearchRequest struct {
	DriveID               string `json:"drive_id"`
	Limit                 int    `json:"limit"`
	Query                 string `json:"query"`
	ImageThumbnailProcess string `json:"image_thumbnail_process"`
	ImageURLProcess       string `json:"image_url_process"`
	VideoThumbnailProcess string `json:"video_thumbnail_process"`
	OrderBy               string `json:"order_by"`
}

type ApiFileSearchResponse

type ApiFileSearchResponse struct {
	Message    string  `json:"message"`
	Items      []*File `json:"items"`
	NextMarker string  `json:"next_marker"`
}

type ApiFileUploadCompleteRequest

type ApiFileUploadCompleteRequest struct {
	DriveDirentID

	UploadID string `json:"upload_id"`
}

type ApiFileUploadCompleteResponse

type ApiFileUploadCompleteResponse struct {
}

type ApiFileUploadPartRequest

type ApiFileUploadPartRequest struct {
	Uri    string    `json:"-"`
	Reader io.Reader `json:"-"`
}

type ApiFileUploadPartResponse

type ApiFileUploadPartResponse struct {
}

type Cloneable

type Cloneable interface {
	Clone() interface{}
}

type CloneableReadCloser

type CloneableReadCloser interface {
	io.ReadCloser
	Cloneable
}

type CloneableReader

type CloneableReader interface {
	io.Reader
	Cloneable
}

type DriveDirentID

type DriveDirentID struct {
	DriveID string `json:"drive_id"`
	FileID  string `json:"file_id"`
}

type File

type File struct {
	DriveID         string    `json:"drive_id"`
	DomainID        string    `json:"domain_id"`
	FileID          string    `json:"file_id"`
	Name            string    `json:"name"`
	Type            string    `json:"type"`
	CreatedAt       time.Time `json:"created_at"`
	UpdatedAt       time.Time `json:"updated_at"`
	Hidden          bool      `json:"hidden"`
	Starred         bool      `json:"starred"`
	Status          string    `json:"status"`
	UserMeta        string    `json:"user_meta,omitempty"`
	ParentFileID    string    `json:"parent_file_id"`
	EncryptMode     string    `json:"encrypt_mode"`
	ContentType     string    `json:"content_type,omitempty"`
	FileExtension   string    `json:"file_extension,omitempty"`
	MimeType        string    `json:"mime_type,omitempty"`
	MimeExtension   string    `json:"mime_extension,omitempty"`
	Size            int64     `json:"size,omitempty"`
	Crc64Hash       string    `json:"crc64_hash,omitempty"`
	ContentHash     string    `json:"content_hash,omitempty"`
	ContentHashName string    `json:"content_hash_name,omitempty"`
	DownloadURL     string    `json:"download_url,omitempty"`
	URL             string    `json:"url,omitempty"`
	Thumbnail       string    `json:"thumbnail,omitempty"`
	Category        string    `json:"category,omitempty"`
	PunishFlag      int       `json:"punish_flag,omitempty"`
}

type PartInfo

type PartInfo struct {
	PartNumber int    `json:"part_number"`
	UploadURL  string `json:"upload_url"`
}

type SizedReader

type SizedReader struct {
	io.Reader `json:"-"`
	Size      int64 `json:"size"`
}

type UploadFileRequest

type UploadFileRequest struct {
	DriveID string         `json:"drive_id"`
	Name    string         `json:"name"`
	File    SizedReader    `json:"-"`
	Session *UploadSession `json:"session"`
}

type UploadSession

type UploadSession struct {
	DriveDirentID DriveDirentID `json:"dirent_id"`
	PartInfoList  []PartInfo    `json:"part_info_list"`
	UploadID      string        `json:"upload_id"`
	Hash          string        `json:"hash"`
	ProofHash     string        `json:"proof_hash"`
	PreHash       string        `json:"pre_hash"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL