api

package
v1.43.1 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2018 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package api has type definitions for box

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

Index

Constants

View Source
const (
	ItemTypeFolder    = "folder"
	ItemTypeFile      = "file"
	ItemStatusActive  = "active"
	ItemStatusTrashed = "trashed"
	ItemStatusDeleted = "deleted"
)

Types of things in Item

Variables

View Source
var ItemFields = "type,id,sequence_id,etag,sha1,name,size,created_at,modified_at,content_created_at,content_modified_at,item_status"

ItemFields are the fields needed for FileInfo

Functions

This section is empty.

Types

type CommitUpload

type CommitUpload struct {
	Parts      []Part `json:"parts"`
	Attributes struct {
		ContentCreatedAt  Time `json:"content_created_at"`
		ContentModifiedAt Time `json:"content_modified_at"`
	} `json:"attributes"`
}

CommitUpload is used in the Commit Upload call

type CopyFile

type CopyFile struct {
	Name   string `json:"name"`
	Parent Parent `json:"parent"`
}

CopyFile is the request for Copy File

type CreateFolder

type CreateFolder struct {
	Name   string `json:"name"`
	Parent Parent `json:"parent"`
}

CreateFolder is the request for Create Folder

type Error

type Error struct {
	Type        string `json:"type"`
	Status      int    `json:"status"`
	Code        string `json:"code"`
	ContextInfo json.RawMessage
	HelpURL     string `json:"help_url"`
	Message     string `json:"message"`
	RequestID   string `json:"request_id"`
}

Error is returned from box when things go wrong

func (*Error) Error

func (e *Error) Error() string

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

type FolderItems

type FolderItems struct {
	TotalCount int    `json:"total_count"`
	Entries    []Item `json:"entries"`
	Offset     int    `json:"offset"`
	Limit      int    `json:"limit"`
	Order      []struct {
		By        string `json:"by"`
		Direction string `json:"direction"`
	} `json:"order"`
}

FolderItems is returned from the GetFolderItems call

type Item

type Item struct {
	Type              string  `json:"type"`
	ID                string  `json:"id"`
	SequenceID        string  `json:"sequence_id"`
	Etag              string  `json:"etag"`
	SHA1              string  `json:"sha1"`
	Name              string  `json:"name"`
	Size              float64 `json:"size"` // box returns this in xEyy format for very large numbers - see #2261
	CreatedAt         Time    `json:"created_at"`
	ModifiedAt        Time    `json:"modified_at"`
	ContentCreatedAt  Time    `json:"content_created_at"`
	ContentModifiedAt Time    `json:"content_modified_at"`
	ItemStatus        string  `json:"item_status"` // active, trashed if the file has been moved to the trash, and deleted if the file has been permanently deleted
}

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

func (*Item) ModTime

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

ModTime returns the modification time of the item

type Parent

type Parent struct {
	ID string `json:"id"`
}

Parent defined the ID of the parent directory

type Part

type Part struct {
	PartID string `json:"part_id"`
	Offset int64  `json:"offset"`
	Size   int64  `json:"size"`
	Sha1   string `json:"sha1"`
}

Part defines the return from upload part call which are passed to commit upload also

type Time

type Time time.Time

Time represents represents date and time information for the box API, by using RFC3339

func (*Time) MarshalJSON

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

MarshalJSON turns a Time into JSON (in UTC)

func (*Time) UnmarshalJSON

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

UnmarshalJSON turns JSON into a Time

type UpdateFileModTime

type UpdateFileModTime struct {
	ContentModifiedAt Time `json:"content_modified_at"`
}

UpdateFileModTime is used in Update File Info

type UpdateFileMove

type UpdateFileMove struct {
	Name   string `json:"name"`
	Parent Parent `json:"parent"`
}

UpdateFileMove is the request for Upload File to change name and parent

type UploadFile

type UploadFile struct {
	Name              string `json:"name"`
	Parent            Parent `json:"parent"`
	ContentCreatedAt  Time   `json:"content_created_at"`
	ContentModifiedAt Time   `json:"content_modified_at"`
}

UploadFile is the request for Upload File

type UploadPartResponse

type UploadPartResponse struct {
	Part Part `json:"part"`
}

UploadPartResponse is returned from the upload part call

type UploadSessionRequest

type UploadSessionRequest struct {
	FolderID string `json:"folder_id,omitempty"` // don't pass for update
	FileSize int64  `json:"file_size"`
	FileName string `json:"file_name,omitempty"` // optional for update
}

UploadSessionRequest is uses in Create Upload Session

type UploadSessionResponse

type UploadSessionResponse struct {
	TotalParts       int   `json:"total_parts"`
	PartSize         int64 `json:"part_size"`
	SessionEndpoints struct {
		ListParts  string `json:"list_parts"`
		Commit     string `json:"commit"`
		UploadPart string `json:"upload_part"`
		Status     string `json:"status"`
		Abort      string `json:"abort"`
	} `json:"session_endpoints"`
	SessionExpiresAt  Time   `json:"session_expires_at"`
	ID                string `json:"id"`
	Type              string `json:"type"`
	NumPartsProcessed int    `json:"num_parts_processed"`
}

UploadSessionResponse is returned from Create Upload Session

Jump to

Keyboard shortcuts

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