Skip to main content

Secure Share | Golang SDK

CreatedAt

func (f *FilterList) CreatedAt() *pangea.FilterRange[string]

Folder

func (f *FilterList) Folder() *pangea.FilterEqual[string]

ID

func (f *FilterList) ID() *pangea.FilterMatch[string]

Name

func (f *FilterList) Name() *pangea.FilterMatch[string]

ParentID

func (f *FilterList) ParentID() *pangea.FilterMatch[string]

Size

func (f *FilterList) Size() *pangea.FilterRange[string]

Tags

func (f *FilterList) Tags() *pangea.FilterEqual[[]string]

Type

func (f *FilterList) Type() *pangea.FilterMatch[string]

UpdatedAt

func (f *FilterList) UpdatedAt() *pangea.FilterRange[string]

AccessCount

func (f *FilterShareLinkList) AccessCount() *pangea.FilterRange[string]

CreatedAt

func (f *FilterShareLinkList) CreatedAt() *pangea.FilterRange[string]

ExpiresAt

func (f *FilterShareLinkList) ExpiresAt() *pangea.FilterRange[string]

ID

func (f *FilterShareLinkList) ID() *pangea.FilterMatch[string]

LastAccessedAt

func (f *FilterShareLinkList) LastAccessedAt() *pangea.FilterRange[string]
func (f *FilterShareLinkList) Link() *pangea.FilterMatch[string]
func (f *FilterShareLinkList) LinkType() *pangea.FilterMatch[string]

MaxAccessCount

func (f *FilterShareLinkList) MaxAccessCount() *pangea.FilterRange[string]

Target

func (f *FilterShareLinkList) Target() *pangea.FilterMatch[string]

Buckets

func (e *share) Buckets(ctx context.Context) (*pangea.PangeaResponse[BucketsResult], error)

Get information on the accessible buckets.

required parameters

context.Context
res, err := shareClient.Buckets(ctx)

Delete

func (e *share) Delete(ctx context.Context, input *DeleteRequest) (*pangea.PangeaResponse[DeleteResult], error)

Delete object by ID.

required parameters

context.Context
input := &share.DeleteRequest{
	ID: "pos_3djfmzg2db4c6donarecbyv5begtj2bm"
}

res, err := shareClient.Delete(ctx, input)

Create a folder

func (e *share) FolderCreate(ctx context.Context, input *FolderCreateRequest) (*pangea.PangeaResponse[FolderCreateResult], error)

Create a folder, either by name or path and parent_id.

required parameters

context.Context
input := &share.FolderCreateRequest{
	Metadata: share.Metadata{
		"created_by": "jim",
		"priority": "medium",
	},
	ParentID: "pos_3djfmzg2db4c6donarecbyv5begtj2bm",
	Folder: "/",
	Tags: share.Tags{"irs_2023", "personal"},
}

res, err := shareClient.FolderCreate(ctx, input)

Get an object

func (e *share) Get(ctx context.Context, input *GetRequest) (*pangea.PangeaResponse[GetResult], error)

Get object.

required parameters

context.Context
input := &share.GetRequest{
	ID: "pos_3djfmzg2db4c6donarecbyv5begtj2bm",
}

res, err := shareClient.Get(ctx, input)

Get archive

func (e *share) GetArchive(ctx context.Context, input *GetArchiveRequest) (*pangea.PangeaResponse[GetArchiveResult], error)

Get an archive file of multiple objects.

required parameters

context.Context
input := &share.GetArchiveRequest{
	Ids: []string{"pos_3djfmzg2db4c6donarecbyv5begtj2bm"},
}

res, err := shareClient.GetArchive(ctx, input)

List

func (e *share) List(ctx context.Context, input *ListRequest) (*pangea.PangeaResponse[ListResult], error)

List or filter/search records.

required parameters

context.Context
input := &share.ListRequest{}

res, err := shareClient.List(ctx, input)

Upload a file

func (e *share) Put(ctx context.Context, input *PutRequest, file *os.File) (*pangea.PangeaResponse[PutResult], error)

Upload a file.

required parameters

context.Context
*os.File
input := &share.PutRequest{
	TransferMethod: pangea.TMmultipart,
	Metadata: share.Metadata{
		"created_by": "jim",
		"priority": "medium",
	},
	ParentID: "pos_3djfmzg2db4c6donarecbyv5begtj2bm",
	Folder: "/",
	Tags: share.Tags{"irs_2023", "personal"},
}

file, err := os.Open("./path/to/file.pdf")
if err != nil {
	log.Fatal("Error opening file: %v", err)
}

res, err := shareClient.Put(ctx, input, file)

Request upload URL

func (e *share) RequestUploadURL(ctx context.Context, input *PutRequest) (*pangea.PangeaResponse[PutResult], error)

Request an upload URL.

required parameters

context.Context
input := &share.PutRequest{
	TransferMethod: pangea.TMpostURL,
	CRC32C: "515f7c32",
	SHA256: "c0b56b1a154697f79d27d57a3a2aad4c93849aa2239cd23048fc6f45726271cc",
	Size: 222089,
	Metadata: share.Metadata{
		"created_by": "jim",
		"priority": "medium",
	},
	ParentID: "pos_3djfmzg2db4c6donarecbyv5begtj2bm",
	Folder: "/",
	Tags: share.Tags{"irs_2023", "personal"},
}

res, err := shareClient.RequestUploadURL(ctx, input)
func (e *share) ShareLinkCreate(ctx context.Context, input *ShareLinkCreateRequest) (*pangea.PangeaResponse[ShareLinkCreateResult], error)

Create a share link.

required parameters

context.Context
authenticator := share.Authenticator{
	AuthType: share.ATpassword,
	AuthContext: "my_fav_Pa55word",
}

link := share.ShareLinkCreateItem{
	Targets: []string{"pos_3djfmzg2db4c6donarecbyv5begtj2bm"},
	LinkType: "download",
	Authenticators: []Authenticator{authenticator},
}

input := &share.ShareLinkCreateRequest{
	Links: []share.ShareLinkCreateItem{link},
}

res, err := shareClient.ShareLinkCreate(ctx, input)
func (e *share) ShareLinkDelete(ctx context.Context, input *ShareLinkDeleteRequest) (*pangea.PangeaResponse[ShareLinkDeleteResult], error)

Delete share links.

required parameters

context.Context
input := &share.ShareLinkDeleteRequest{
	Ids: []string{"psl_3djfmzg2db4c6donarecbyv5begtj2bm"},
}

res, err := shareClient.ShareLinkDelete(ctx, input)
func (e *share) ShareLinkGet(ctx context.Context, input *ShareLinkGetRequest) (*pangea.PangeaResponse[ShareLinkGetResult], error)

Get a share link.

required parameters

context.Context
input := &share.ShareLinkGetRequest{
	ID: "psl_3djfmzg2db4c6donarecbyv5begtj2bm",
}

res, err := shareClient.ShareLinkGet(ctx, input)
func (e *share) ShareLinkList(ctx context.Context, input *ShareLinkListRequest) (*pangea.PangeaResponse[ShareLinkListResult], error)

Look up share links by filter options.

input := &share.ShareLinkListRequest{}

res, err := shareClient.ShareLinkList(ctx, input)
func (e *share) ShareLinkSend(ctx context.Context, input *ShareLinkSendRequest) (*pangea.PangeaResponse[ShareLinkSendResult], error)

Send share link(s).

required parameters

context.Context
res, err := client.ShareLinkSend(ctx, &share.ShareLinkSendRequest{
	Links: []share.ShareLinkSendItem{
		share.ShareLinkSendItem{
			Id:    link.ID,
			Email: "user@email.com",
		},
	},
	SenderEmail: "sender@email.com",
	SenderName:  "Sender Name",
})

Update a file

func (e *share) Update(ctx context.Context, input *UpdateRequest) (*pangea.PangeaResponse[UpdateResult], error)

Update a file.

required parameters

context.Context
input := &share.UpdateRequest{
	ID: "pos_3djfmzg2db4c6donarecbyv5begtj2bm",
	Folder: "/",
	RemoveMetadata: share.Metadata{
		"created_by": "jim",
		"priority": "medium",
	},
	RemoveTags: share.Tags{"irs_2023", "personal"},
}

res, err := shareClient.Update(ctx, input)

Type ArchiveFormat

type ArchiveFormat string
type ArchiveFormat string

Type Authenticator

type Authenticator struct

required parameters

AuthenticatorType `json:"auth_type"`
string `json:"auth_context"`
type Authenticator struct {
	AuthType	AuthenticatorType	`json:"auth_type"`	// An authentication mechanism
	AuthContext	string			`json:"auth_context"`	// An email address, a phone number or a password to access share link
}

Type AuthenticatorType

type AuthenticatorType string
type AuthenticatorType string

Type Bucket

type Bucket struct

required parameters

bool `json:"default"`
string `json:"id"`
string `json:"name"`
[]pangea.TransferMethod `json:"transfer_methods"`
type Bucket struct {
	Default		bool			`json:"default"`	// If true, is the default bucket.
	ID		string			`json:"id"`		// The ID of a share bucket resource.
	Name		string			`json:"name"`		// The bucket's friendly name.
	TransferMethods	[]pangea.TransferMethod	`json:"transfer_methods"`
}

Type BucketsResult

type BucketsResult struct

required parameters

[]Bucket `json:"buckets"`
type BucketsResult struct {
	Buckets []Bucket `json:"buckets"`	// A list of available buckets.
}

Type Client

type Client interface

required parameters

func(ctx context.Context) (*pangea.PangeaResponse[BucketsResult], error)

Get information on the accessible buckets.

context.Context
func(ctx context.Context, input *FolderCreateRequest) (*pangea.PangeaResponse[FolderCreateResult], error)
context.Context
func(ctx context.Context, input *DeleteRequest) (*pangea.PangeaResponse[DeleteResult], error)
context.Context
func(ctx context.Context, input *GetRequest) (*pangea.PangeaResponse[GetResult], error)
context.Context
func(ctx context.Context, input *PutRequest, file *os.File) (*pangea.PangeaResponse[PutResult], error)
context.Context
*os.File
func(ctx context.Context, input *UpdateRequest) (*pangea.PangeaResponse[UpdateResult], error)
context.Context
func(ctx context.Context, input *ListRequest) (*pangea.PangeaResponse[ListResult], error)
context.Context
func(ctx context.Context, input *GetArchiveRequest) (*pangea.PangeaResponse[GetArchiveResult], error)
context.Context
func(ctx context.Context, input *ShareLinkCreateRequest) (*pangea.PangeaResponse[ShareLinkCreateResult], error)
context.Context
func(ctx context.Context, input *ShareLinkGetRequest) (*pangea.PangeaResponse[ShareLinkGetResult], error)
context.Context
func(ctx context.Context, input *ShareLinkListRequest) (*pangea.PangeaResponse[ShareLinkListResult], error)
context.Context
func(ctx context.Context, input *ShareLinkDeleteRequest) (*pangea.PangeaResponse[ShareLinkDeleteResult], error)
context.Context
func(ctx context.Context, input *ShareLinkSendRequest) (*pangea.PangeaResponse[ShareLinkSendResult], error)
context.Context
func(ctx context.Context, input *PutRequest) (*pangea.PangeaResponse[PutResult], error)
context.Context
pangea.BaseServicer

Base service methods

type Client interface {
	// Get information on the accessible buckets.
	Buckets(ctx context.Context) (*pangea.PangeaResponse[BucketsResult], error)
	FolderCreate(ctx context.Context, input *FolderCreateRequest) (*pangea.PangeaResponse[FolderCreateResult], error)
	Delete(ctx context.Context, input *DeleteRequest) (*pangea.PangeaResponse[DeleteResult], error)
	Get(ctx context.Context, input *GetRequest) (*pangea.PangeaResponse[GetResult], error)
	Put(ctx context.Context, input *PutRequest, file *os.File) (*pangea.PangeaResponse[PutResult], error)
	Update(ctx context.Context, input *UpdateRequest) (*pangea.PangeaResponse[UpdateResult], error)
	List(ctx context.Context, input *ListRequest) (*pangea.PangeaResponse[ListResult], error)
	GetArchive(ctx context.Context, input *GetArchiveRequest) (*pangea.PangeaResponse[GetArchiveResult], error)
	ShareLinkCreate(ctx context.Context, input *ShareLinkCreateRequest) (*pangea.PangeaResponse[ShareLinkCreateResult], error)
	ShareLinkGet(ctx context.Context, input *ShareLinkGetRequest) (*pangea.PangeaResponse[ShareLinkGetResult], error)
	ShareLinkList(ctx context.Context, input *ShareLinkListRequest) (*pangea.PangeaResponse[ShareLinkListResult], error)
	ShareLinkDelete(ctx context.Context, input *ShareLinkDeleteRequest) (*pangea.PangeaResponse[ShareLinkDeleteResult], error)
	ShareLinkSend(ctx context.Context, input *ShareLinkSendRequest) (*pangea.PangeaResponse[ShareLinkSendResult], error)
	RequestUploadURL(ctx context.Context, input *PutRequest) (*pangea.PangeaResponse[PutResult], error)

	// Base service methods
	pangea.BaseServicer
}

Type DeleteRequest

type DeleteRequest struct

required parameters

string `json:"id,omitempty"`
*bool `json:"force,omitempty"`
*string `json:"bucket_id,omitempty"`
type DeleteRequest struct {
	pangea.BaseRequest

	ID		string	`json:"id,omitempty"`		// The ID of the object to delete.
	Force		*bool	`json:"force,omitempty"`	// If true, delete a folder even if it's not empty. Deletes the contents of folder as well.
	BucketID	*string	`json:"bucket_id,omitempty"`	// The bucket to use, if not the default.
}

Type DeleteResult

type DeleteResult struct

required parameters

int `json:"count"`
type DeleteResult struct {
	Count int `json:"count"`	// Number of objects deleted.
}

Type FileFormat

type FileFormat string
type FileFormat string

Type FilterList

type FilterList struct

Just allowed to filter by folder now

required parameters

*pangea.FilterEqual[string]
*pangea.FilterRange[string]
*pangea.FilterMatch[string]
*pangea.FilterMatch[string]
*pangea.FilterMatch[string]
*pangea.FilterRange[string]
*pangea.FilterEqual[[]string]
*pangea.FilterMatch[string]
*pangea.FilterRange[string]
type FilterList struct {
	pangea.FilterBase
	folder		*pangea.FilterEqual[string]
	createdAt	*pangea.FilterRange[string]
	id		*pangea.FilterMatch[string]
	name		*pangea.FilterMatch[string]
	parentId	*pangea.FilterMatch[string]
	size		*pangea.FilterRange[string]
	tags		*pangea.FilterEqual[[]string]
	type_		*pangea.FilterMatch[string]
	updatedAt	*pangea.FilterRange[string]
}
type FilterShareLinkList struct
type FilterShareLinkList struct {
	pangea.FilterBase
	id		*pangea.FilterMatch[string]
	target		*pangea.FilterMatch[string]
	linkType	*pangea.FilterMatch[string]
	accessCount	*pangea.FilterRange[string]
	maxAccessCount	*pangea.FilterRange[string]
	createdAt	*pangea.FilterRange[string]
	expiresAt	*pangea.FilterRange[string]
	lastAccessedAt	*pangea.FilterRange[string]
	link		*pangea.FilterMatch[string]
}

Type FolderCreateRequest

type FolderCreateRequest struct

required parameters

string `json:"name,omitempty"`
string `json:"parent_id,omitempty"`
string `json:"folder,omitempty"`
*string `json:"bucket_id,omitempty"`
type FolderCreateRequest struct {
	pangea.BaseRequest

	Name		string		`json:"name,omitempty"`		// The name of an object.
	Metadata	Metadata	`json:"metadata,omitempty"`	// A set of string-based key/value pairs used to provide additional data about an object.
	ParentID	string		`json:"parent_id,omitempty"`	// The ID of a stored object.
	Folder		string		`json:"folder,omitempty"`	// The folder to place the folder in. Must match `parent_id` if also set.
	Tags		Tags		`json:"tags,omitempty"`		// A list of user-defined tags
	BucketID	*string		`json:"bucket_id,omitempty"`	// The bucket to use, if not the default.
}

Type FolderCreateResult

type FolderCreateResult struct

required parameters

ItemData `json:"object"`
type FolderCreateResult struct {
	Object ItemData `json:"object"`	// Information on the created folder.
}

Type GetArchiveRequest

type GetArchiveRequest struct

required parameters

[]string `json:"ids"`
pangea.TransferMethod `json:"transfer_method,omitempty"`
*string `json:"bucket_id,omitempty"`
type GetArchiveRequest struct {
	pangea.BaseRequest

	Ids		[]string		`json:"ids"`				// The IDs of the objects to include in the archive. Folders include all children.
	Format		ArchiveFormat		`json:"format,omitempty"`		// The format to use to build the archive.
	TransferMethod	pangea.TransferMethod	`json:"transfer_method,omitempty"`	// The requested transfer method for the file data.
	BucketID	*string			`json:"bucket_id,omitempty"`		// The bucket to use, if not the default.
}

Type GetArchiveResult

type GetArchiveResult struct

required parameters

*string `json:"dest_url,omitempty"`
int `json:"count"`
type GetArchiveResult struct {
	DestURL	*string		`json:"dest_url,omitempty"`	// A location where the archive can be downloaded from. (transfer_method: dest-url)
	Count	int		`json:"count"`			// Number of objects included in the archive.
	Objects	[]ItemData	`json:"objects"`		// A list of all objects included in the archive.
}

Type GetRequest

type GetRequest struct

required parameters

string `json:"id,omitempty"`
*string `json:"password,omitempty"`
pangea.TransferMethod `json:"transfer_method,omitempty"`
*string `json:"bucket_id,omitempty"`
type GetRequest struct {
	pangea.BaseRequest

	ID		string			`json:"id,omitempty"`			// The ID of the object to retrieve.
	Password	*string			`json:"password,omitempty"`		// If the file was protected with a password, the password to decrypt with.
	TransferMethod	pangea.TransferMethod	`json:"transfer_method,omitempty"`	// The requested transfer method for the file data.
	BucketID	*string			`json:"bucket_id,omitempty"`		// The bucket to use, if not the default.
}

Type GetResult

type GetResult struct

required parameters

ItemData `json:"object"`
*string `json:"dest_url,omitempty"`
type GetResult struct {
	Object	ItemData	`json:"object"`			// File information.
	DestURL	*string		`json:"dest_url,omitempty"`	// A URL where the file can be downloaded from. (transfer_method: dest-url)
}

Type ItemData

type ItemData struct

required parameters

int `json:"billable_size"`
string `json:"created_at"`
string `json:"external_bucket_key"`
string `json:"folder"`
string `json:"id"`
string `json:"md5"`
string `json:"name"`
string `json:"parent_id"`
string `json:"sha256"`
string `json:"sha512"`
int `json:"size"`
string `json:"type"`
string `json:"updated_at"`
type ItemData struct {
	BillableSize		int		`json:"billable_size"`			// The number of billable bytes (includes Metadata, Tags, etc.) for the object.
	CreatedAt		string		`json:"created_at"`			// The date and time the object was created.
	ExternalBucketKey	string		`json:"external_bucket_key"`		// The key in the external bucket that contains this file.
	Folder			string		`json:"folder"`				// The full path to the folder the object is stored in.
	ID			string		`json:"id"`				// The ID of a stored object.
	MD5			string		`json:"md5"`				// The MD5 hash of the file contents. Cannot be written to.
	Metadata		Metadata	`json:"metadata,omitempty"`		// A set of string-based key/value pairs used to provide additional data about an object.
	MetadataProtected	Metadata	`json:"metadata_protected,omitempty"`	// Protected (read-only) metadata.
	Name			string		`json:"name"`				// The name of the object.
	ParentID		string		`json:"parent_id"`			// The parent ID (a folder). Blanks means the root folder.
	SHA256			string		`json:"sha256"`				// The SHA256 hash of the file contents. Cannot be written to.
	SHA512			string		`json:"sha512"`				// The SHA512 hash of the file contents. Cannot be written to.
	Size			int		`json:"size"`				// The size of the object in bytes.
	Tags			Tags		`json:"tags,omitempty"`			// A list of user-defined tags
	TagsProtected		Tags		`json:"tags_protected,omitempty"`	// Protected (read-only) flags.
	Type			string		`json:"type"`				// The type of the item (file or dir). Cannot be written to.
	UpdatedAt		string		`json:"updated_at"`			// The date and time the object was last updated.
}

Type ItemOrder

type ItemOrder string
type ItemOrder string
type LinkType string
type LinkType string

Type ListRequest

type ListRequest struct

required parameters

*string `json:"bucket_id,omitempty"`
*bool `json:"include_external_bucket_key,omitempty"`
pangea.Filter `json:"filter,omitempty"`
string `json:"last,omitempty"`
int `json:"size,omitempty"`
type ListRequest struct {
	pangea.BaseRequest

	BucketID			*string		`json:"bucket_id,omitempty"`			// The bucket to use, if not the default.
	IncludeExternalBucketKey	*bool		`json:"include_external_bucket_key,omitempty"`	// If true, include the `external_bucket_key` in results.
	Filter				pangea.Filter	`json:"filter,omitempty"`
	Last				string		`json:"last,omitempty"`		// Reflected value from a previous response to obtain the next page of results.
	Order				ItemOrder	`json:"order,omitempty"`	// Order results asc(ending) or desc(ending).
	OrderBy				ObjectOrderBy	`json:"order_by,omitempty"`	// Which field to order results by.
	Size				int		`json:"size,omitempty"`		// Maximum results to include in the response.
}

Type ListResult

type ListResult struct

required parameters

int `json:"count"`
string `json:"last,omitempty"`
type ListResult struct {
	Count	int		`json:"count"`		// The total number of objects matched by the list request.
	Last	string		`json:"last,omitempty"`	// Used to fetch the next page of the current listing when provided in a repeated request's last parameter.
	Objects	[]ItemData	`json:"objects"`
}

Type Metadata

type Metadata map[string]string
type Metadata map[string]string

Type ObjectOrderBy

type ObjectOrderBy string
type ObjectOrderBy string

Type PutRequest

type PutRequest struct

required parameters

*int `json:"size,omitempty"`
*string `json:"bucket_id,omitempty"`
string `json:"crc32c,omitempty"`
string `json:"sha256,omitempty"`
string `json:"md5,omitempty"`
string `json:"name,omitempty"`
string `json:"mimetype,omitempty"`
string `json:"parent_id,omitempty"`
string `json:"folder,omitempty"`
string `json:"password,omitempty"`
string `json:"password_algorithm,omitempty"`
string `json:"sha1,omitempty"`
string `json:"sha512,omitempty"`
string `json:"source_url,omitempty"`
type PutRequest struct {
	pangea.BaseRequest
	pangea.TransferRequest

	Size			*int		`json:"size,omitempty"`			// The size (in bytes) of the file. If the upload doesn't match, the call will fail.
	BucketID		*string		`json:"bucket_id,omitempty"`		// The bucket to use, if not the default.
	CRC32C			string		`json:"crc32c,omitempty"`		// The hexadecimal-encoded CRC32C hash of the file data, which will be verified by the server if provided.
	SHA256			string		`json:"sha256,omitempty"`		// The SHA256 hash of the file data, which will be verified by the server if provided.
	MD5			string		`json:"md5,omitempty"`			// The hexadecimal-encoded MD5 hash of the file data, which will be verified by the server if provided.
	Name			string		`json:"name,omitempty"`			// The name of the object to store.
	Format			*FileFormat	`json:"format,omitempty"`		// The format of the file, which will be verified by the server if provided. Uploads not matching the supplied format will be rejected.
	Metadata		Metadata	`json:"metadata,omitempty"`		// A set of string-based key/value pairs used to provide additional data about an object.
	MimeType		string		`json:"mimetype,omitempty"`		// The MIME type of the file, which will be verified by the server if provided. Uploads not matching the supplied MIME type will be rejected.
	ParentID		string		`json:"parent_id,omitempty"`		// The parent ID of the object (a folder). Leave blank to keep in the root folder.
	Folder			string		`json:"folder,omitempty"`		// The path to the parent folder. Leave blank for the root folder. Path must resolve to `parent_id` if also set.
	Password		string		`json:"password,omitempty"`		// An optional password to protect the file with. Downloading the file will require this password.
	PasswordAlgorithm	string		`json:"password_algorithm,omitempty"`	// An optional password algorithm to protect the file with. See symmetric vault password_algorithm.
	SHA1			string		`json:"sha1,omitempty"`			// The hexadecimal-encoded SHA1 hash of the file data, which will be verified by the server if provided.
	SHA512			string		`json:"sha512,omitempty"`		// The hexadecimal-encoded SHA512 hash of the file data, which will be verified by the server if provided.
	SourceURL		string		`json:"source_url,omitempty"`		// The URL to fetch the file payload from (for transfer_method source-url).
	Tags			Tags		`json:"tags,omitempty"`			// A list of user-defined tags
}

Type PutResult

type PutResult struct

required parameters

ItemData `json:"object"`
type PutResult struct {
	Object ItemData `json:"object"`
}
type ShareLinkCreateItem struct

required parameters

[]string `json:"targets"`
string `json:"expires_at,omitempty"`
*int `json:"max_access_count,omitempty"`
string `json:"title,omitempty"`
string `json:"message,omitempty"`
string `json:"notify_email,omitempty"`
type ShareLinkCreateItem struct {
	Targets		[]string	`json:"targets"`			// List of storage IDs
	LinkType	LinkType	`json:"link_type,omitempty"`		// Type of link
	ExpiresAt	string		`json:"expires_at,omitempty"`		// The date and time the share link expires.
	MaxAccessCount	*int		`json:"max_access_count,omitempty"`	// The maximum number of times a user can be authenticated to access the share link.
	Authenticators	[]Authenticator	`json:"authenticators,omitempty"`	// A list of authenticators
	Title		string		`json:"title,omitempty"`		// An optional title to use in accessing shares.
	Message		string		`json:"message,omitempty"`		// An optional message to use in accessing shares.
	NotifyEmail	string		`json:"notify_email,omitempty"`		// An email address
	Tags		Tags		`json:"tags,omitempty"`			// A list of user-defined tags
}
type ShareLinkCreateRequest struct

required parameters

[]ShareLinkCreateItem `json:"links"`
type ShareLinkCreateRequest struct {
	pangea.BaseRequest

	Links	[]ShareLinkCreateItem	`json:"links"`
}
type ShareLinkCreateResult struct

required parameters

[]ShareLinkItem `json:"share_link_objects"`
type ShareLinkCreateResult struct {
	ShareLinkObjects []ShareLinkItem `json:"share_link_objects"`
}
type ShareLinkDeleteRequest struct

required parameters

*string `json:"bucket_id,omitempty"`
[]string `json:"ids"`
type ShareLinkDeleteRequest struct {
	pangea.BaseRequest

	BucketID	*string		`json:"bucket_id,omitempty"`	// The bucket to use, if not the default.
	Ids		[]string	`json:"ids"`
}
type ShareLinkDeleteResult struct

required parameters

[]ShareLinkItem `json:"share_link_objects"`
type ShareLinkDeleteResult struct {
	ShareLinkObjects []ShareLinkItem `json:"share_link_objects"`
}
type ShareLinkGetRequest struct

required parameters

string `json:"id"`
type ShareLinkGetRequest struct {
	pangea.BaseRequest

	ID	string	`json:"id"`	// The ID of a share link.
}
type ShareLinkGetResult struct

required parameters

ShareLinkItem `json:"share_link_object"`
type ShareLinkGetResult struct {
	ShareLinkObject ShareLinkItem `json:"share_link_object"`
}
type ShareLinkItem struct

required parameters

string `json:"id"`
string `json:"bucket_id"`
[]string `json:"targets"`
string `json:"link_type"`
int `json:"access_count"`
int `json:"max_access_count"`
string `json:"created_at"`
string `json:"expires_at"`
*string `json:"last_accessed_at,omitempty"`
string `json:"title,omitempty"`
string `json:"message,omitempty"`
string `json:"link"`
string `json:"notify_email,omitempty"`
type ShareLinkItem struct {
	ID		string		`json:"id"`				// The ID of a share link.
	BucketID	string		`json:"bucket_id"`			// The ID of a share bucket resource.
	Targets		[]string	`json:"targets"`			// List of storage IDs
	LinkType	string		`json:"link_type"`			// Type of link
	AccessCount	int		`json:"access_count"`			// The number of times a user has authenticated to access the share link.
	MaxAccessCount	int		`json:"max_access_count"`		// The maximum number of times a user can be authenticated to access the share link.
	CreatedAt	string		`json:"created_at"`			// The date and time the share link was created.
	ExpiresAt	string		`json:"expires_at"`			// The date and time the share link expires.
	LastAccessedAt	*string		`json:"last_accessed_at,omitempty"`	// The date and time the share link was last accessed.
	Authenticators	[]Authenticator	`json:"authenticators,omitempty"`	// A list of authenticators
	Title		string		`json:"title,omitempty"`		// An optional title to use in accessing shares.
	Message		string		`json:"message,omitempty"`		// An optional message to use in accessing shares.
	Link		string		`json:"link"`				// A URL to access the file/folders shared with a link.
	NotifyEmail	string		`json:"notify_email,omitempty"`		// An email address
	Tags		Tags		`json:"tags,omitempty"`			// A list of user-defined tags
}
type ShareLinkListRequest struct

required parameters

*string `json:"bucket_id,omitempty"`
pangea.Filter `json:"filter,omitempty"`
string `json:"last,omitempty"`
int `json:"size,omitempty"`
type ShareLinkListRequest struct {
	pangea.BaseRequest

	BucketID	*string			`json:"bucket_id,omitempty"`	// The bucket to use, if not the default.
	Filter		pangea.Filter		`json:"filter,omitempty"`
	Last		string			`json:"last,omitempty"`		// Reflected value from a previous response to obtain the next page of results.
	Order		*ItemOrder		`json:"order,omitempty"`	// Order results asc(ending) or desc(ending).
	OrderBy		*ShareLinkOrderBy	`json:"order_by,omitempty"`	// Which field to order results by.
	Size		int			`json:"size,omitempty"`		// Maximum results to include in the response.
}
type ShareLinkListResult struct

required parameters

int `json:"count"`
*string `json:"string"`
type ShareLinkListResult struct {
	Count			int		`json:"count"`	// The total number of share links matched by the list request.
	Last			*string		`json:"string"`	// Used to fetch the next page of the current listing when provided in a repeated request's last parameter.
	ShareLinkObjects	[]ShareLinkItem	`json:"share_link_objects"`
}
type ShareLinkOrderBy string
type ShareLinkOrderBy string
type ShareLinkSendItem struct

required parameters

string `json:"id"`
string `json:"email"`
type ShareLinkSendItem struct {
	Id	string	`json:"id"`	// The ID of a share link.
	Email	string	`json:"email"`	// An email address
}
type ShareLinkSendRequest struct

required parameters

[]ShareLinkSendItem `json:"links"`
string `json:"sender_email"`
string `json:"sender_name,omitempty"`
type ShareLinkSendRequest struct {
	pangea.BaseRequest

	Links		[]ShareLinkSendItem	`json:"links"`
	SenderEmail	string			`json:"sender_email"`		// An email address
	SenderName	string			`json:"sender_name,omitempty"`	// The sender name information. Can be sender's full name for example.
}
type ShareLinkSendResult struct

required parameters

[]ShareLinkItem `json:"share_link_objects"`
type ShareLinkSendResult struct {
	ShareLinkObjects []ShareLinkItem `json:"share_link_objects"`
}

Type Tags

type Tags []string
type Tags []string

Type UpdateRequest

type UpdateRequest struct

required parameters

string `json:"id"`
string `json:"folder,omitempty"`
*string `json:"bucket_id,omitempty"`
string `json:"add_password,omitempty"`
string `json:"add_password_algorithm,omitempty"`
string `json:"name,omitempty"`
string `json:"remove_password,omitempty"`
string `json:"parent_id,omitempty"`
string `json:"updated_at,omitempty"`
type UpdateRequest struct {
	pangea.BaseRequest

	ID			string		`json:"id"`					// An identifier for the file to update.
	Folder			string		`json:"folder,omitempty"`			// Set the parent (folder). Leave blank for the root folder. Path must resolve to `parent_id` if also set.
	BucketID		*string		`json:"bucket_id,omitempty"`			// The bucket to use, if not the default.
	AddMetadata		Metadata	`json:"add_metadata,omitempty"`			// A list of Metadata key/values to set in the object. If a provided key exists, the value will be replaced.
	AddPassword		string		`json:"add_password,omitempty"`			// Protect the file with the supplied password.
	AddPasswordAlgorithm	string		`json:"add_password_algorithm,omitempty"`	// The algorithm to use to password protect the file.
	AddTags			Tags		`json:"add_tags,omitempty"`			// A list of Tags to add. It is not an error to provide a tag which already exists.
	Name			string		`json:"name,omitempty"`				// Sets the object's Name.
	Metadata		Metadata	`json:"metadata,omitempty"`			// Set the object's metadata.
	RemoveMetadata		Metadata	`json:"remove_metadata,omitempty"`		// A list of metadata key/values to remove in the object. It is not an error for a provided key to not exist. If a provided key exists but doesn't match the provided value, it will not be removed.
	RemovePassword		string		`json:"remove_password,omitempty"`		// Remove the supplied password from the file.
	RemoveTags		Tags		`json:"remove_tags,omitempty"`			// A list of tags to remove. It is not an error to provide a tag which is not present.
	ParentID		string		`json:"parent_id,omitempty"`			// Set the parent (folder) of the object. Can be an empty string for the root folder.
	Tags			Tags		`json:"tags,omitempty"`				// Set the object's tags.
	UpdatedAt		string		`json:"updated_at,omitempty"`			// The date and time the object was last updated. If included, the update will fail if this doesn't match the date and time of the last update for the object.
}

Type UpdateResult

type UpdateResult struct

required parameters

ItemData `json:"object"`
type UpdateResult struct {
	Object ItemData `json:"object"`
}

Type share

type share struct
type share struct {
	pangea.BaseService
}