rclone: github.com/ncw/rclone/backend/pcloud/api Index | Files

package api

import "github.com/ncw/rclone/backend/pcloud/api"

Package api has type definitions for pcloud

Converted from the API docs with help from https://mholt.github.io/json-to-go/

Index

Package Files

types.go

type ChecksumFileResult Uses

type ChecksumFileResult struct {
    Error
    Hashes
    Metadata Item `json:"metadata"`
}

ChecksumFileResult is returned from /checksumfile

type Error Uses

type Error struct {
    Result      int    `json:"result"`
    ErrorString string `json:"error"`
}

Error is returned from pcloud when things go wrong

If result is 0 then everything is OK

func (*Error) Error Uses

func (e *Error) Error() string

Error returns a string for the error and satisfies the error interface

func (*Error) Update Uses

func (e *Error) Update(err error) error

Update returns err directly if it was != nil, otherwise it returns an Error or nil if no error was detected

type GetFileLinkResult Uses

type GetFileLinkResult struct {
    Error
    Dwltag  string   `json:"dwltag"`
    Hash    uint64   `json:"hash"`
    Size    int64    `json:"size"`
    Expires Time     `json:"expires"`
    Path    string   `json:"path"`
    Hosts   []string `json:"hosts"`
}

GetFileLinkResult is returned from /getfilelink

func (*GetFileLinkResult) IsValid Uses

func (g *GetFileLinkResult) IsValid() bool

IsValid returns whether the link is valid and has not expired

func (*GetFileLinkResult) URL Uses

func (g *GetFileLinkResult) URL() string

URL returns a URL from the Path and Hosts. Check with IsValid before calling.

type Hashes Uses

type Hashes struct {
    SHA1 string `json:"sha1"`
    MD5  string `json:"md5"`
}

Hashes contains the supported hashes

type Item Uses

type Item struct {
    Path           string `json:"path"`
    Name           string `json:"name"`
    Created        Time   `json:"created"`
    IsMine         bool   `json:"ismine"`
    Thumb          bool   `json:"thumb"`
    Modified       Time   `json:"modified"`
    Comments       int    `json:"comments"`
    ID             string `json:"id"`
    IsShared       bool   `json:"isshared"`
    IsDeleted      bool   `json:"isdeleted"`
    Icon           string `json:"icon"`
    IsFolder       bool   `json:"isfolder"`
    ParentFolderID int64  `json:"parentfolderid"`
    FolderID       int64  `json:"folderid,omitempty"`
    Height         int    `json:"height,omitempty"`
    FileID         int64  `json:"fileid,omitempty"`
    Width          int    `json:"width,omitempty"`
    Hash           uint64 `json:"hash,omitempty"`
    Category       int    `json:"category,omitempty"`
    Size           int64  `json:"size,omitempty"`
    ContentType    string `json:"contenttype,omitempty"`
    Contents       []Item `json:"contents"`
}

Item describes a folder or a file as returned by Get Folder Items and others

func (*Item) ModTime Uses

func (i *Item) ModTime() (t time.Time)

ModTime returns the modification time of the item

type ItemResult Uses

type ItemResult struct {
    Error
    Metadata Item `json:"metadata"`
}

ItemResult is returned from the /listfolder, /createfolder, /deletefolder, /deletefile etc methods

type Time Uses

type Time time.Time

Time represents represents date and time information for the pcloud API, by using RFC1123Z

func (*Time) MarshalJSON Uses

func (t *Time) MarshalJSON() (out []byte, err error)

MarshalJSON turns a Time into JSON (in UTC)

func (*Time) UnmarshalJSON Uses

func (t *Time) UnmarshalJSON(data []byte) error

UnmarshalJSON turns JSON into a Time

type UploadFileResponse Uses

type UploadFileResponse struct {
    Error
    Items     []Item   `json:"metadata"`
    Checksums []Hashes `json:"checksums"`
    Fileids   []int64  `json:"fileids"`
}

UploadFileResponse is the response from /uploadfile

type UserInfo Uses

type UserInfo struct {
    Error
    Cryptosetup           bool   `json:"cryptosetup"`
    Plan                  int    `json:"plan"`
    CryptoSubscription    bool   `json:"cryptosubscription"`
    PublicLinkQuota       int64  `json:"publiclinkquota"`
    Email                 string `json:"email"`
    UserID                int    `json:"userid"`
    Quota                 int64  `json:"quota"`
    TrashRevretentionDays int    `json:"trashrevretentiondays"`
    Premium               bool   `json:"premium"`
    PremiumLifetime       bool   `json:"premiumlifetime"`
    EmailVerified         bool   `json:"emailverified"`
    UsedQuota             int64  `json:"usedquota"`
    Language              string `json:"language"`
    Business              bool   `json:"business"`
    CryptoLifetime        bool   `json:"cryptolifetime"`
    Registered            string `json:"registered"`
    Journey               struct {
        Claimed bool `json:"claimed"`
        Steps   struct {
            VerifyMail    bool `json:"verifymail"`
            UploadFile    bool `json:"uploadfile"`
            AutoUpload    bool `json:"autoupload"`
            DownloadApp   bool `json:"downloadapp"`
            DownloadDrive bool `json:"downloaddrive"`
        }   `json:"steps"`
    }   `json:"journey"`
}

UserInfo is returned from /userinfo

Package api imports 2 packages (graph) and is imported by 1 packages. Updated 2019-02-20. Refresh now. Tools for package owners.