storage

package
v1.180.0 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const PAGE_LIMIT = 100

Variables

This section is empty.

Functions

This section is empty.

Types

type BucketProps added in v1.180.0

type BucketProps struct {
	Public           bool     `json:"public,omitempty"`             // false,
	FileSizeLimit    int      `json:"file_size_limit,omitempty"`    // 0,
	AllowedMimeTypes []string `json:"allowed_mime_types,omitempty"` // ["string"]
}

type BucketResponse

type BucketResponse struct {
	Id               string   `json:"id"`                 // "test"
	Name             string   `json:"name"`               // "test"
	Owner            string   `json:"owner"`              // ""
	Public           bool     `json:"public"`             // true
	FileSizeLimit    *int     `json:"file_size_limit"`    // null
	AllowedMimeTypes []string `json:"allowed_mime_types"` // null
	CreatedAt        string   `json:"created_at"`         // "2023-10-13T17:48:58.491Z"
	UpdatedAt        string   `json:"updated_at"`         // "2023-10-13T17:48:58.491Z"
}

type CopyObjectRequest

type CopyObjectRequest = MoveObjectRequest

type CopyObjectResponse

type CopyObjectResponse struct {
	Key string `json:"key"`
}

type CreateBucketRequest

type CreateBucketRequest struct {
	Name string `json:"name"`         // "string",
	Id   string `json:"id,omitempty"` // "string",
	*BucketProps
}

type CreateBucketResponse

type CreateBucketResponse struct {
	Name string `json:"name"`
}

type DeleteBucketResponse

type DeleteBucketResponse struct {
	Message string `json:"message"`
}

type DeleteObjectsRequest

type DeleteObjectsRequest struct {
	Prefixes []string `json:"prefixes"`
}

type DeleteObjectsResponse

type DeleteObjectsResponse struct {
	BucketId       string         `json:"bucket_id"`        // "private"
	Owner          string         `json:"owner"`            // ""
	OwnerId        string         `json:"owner_id"`         // ""
	Version        string         `json:"version"`          // "cf5c5c53-ee73-4806-84e3-7d92c954b436"
	Name           string         `json:"name"`             // "abstract.pdf"
	Id             string         `json:"id"`               // "9b7f9f48-17a6-4ca8-b14a-39b0205a63e9"
	UpdatedAt      string         `json:"updated_at"`       // "2023-10-13T18:08:22.068Z"
	CreatedAt      string         `json:"created_at"`       // "2023-10-13T18:08:22.068Z"
	LastAccessedAt string         `json:"last_accessed_at"` // "2023-10-13T18:08:22.068Z"
	Metadata       ObjectMetadata `json:"metadata"`         // null
}

type FileOptions

type FileOptions struct {
	CacheControl string
	ContentType  string
}

func ParseFileOptions

func ParseFileOptions(f afero.File, opts ...func(*FileOptions)) (*FileOptions, error)

type ListObjectsQuery

type ListObjectsQuery struct {
	Prefix string `json:"prefix"`
	Search string `json:"search,omitempty"`
	Limit  int    `json:"limit,omitempty"`
	Offset int    `json:"offset,omitempty"`
}

type MoveObjectRequest

type MoveObjectRequest struct {
	BucketId       string `json:"bucketId"`
	SourceKey      string `json:"sourceKey"`
	DestinationKey string `json:"destinationKey"`
}

type MoveObjectResponse

type MoveObjectResponse = DeleteBucketResponse

type ObjectMetadata

type ObjectMetadata struct {
	ETag           string `json:"eTag"`           // "\"887ea9be3c68e6f2fca7fd2d7c77d8fe\""
	Size           int    `json:"size"`           // 82702
	Mimetype       string `json:"mimetype"`       // "application/pdf"
	CacheControl   string `json:"cacheControl"`   // "max-age=3600"
	LastModified   string `json:"lastModified"`   // "2023-10-13T18:08:22.000Z"
	ContentLength  int    `json:"contentLength"`  // 82702
	HttpStatusCode int    `json:"httpStatusCode"` // 200
}

type ObjectResponse

type ObjectResponse struct {
	Name           string          `json:"name"`             // "abstract.pdf"
	Id             *string         `json:"id"`               // "9b7f9f48-17a6-4ca8-b14a-39b0205a63e9"
	UpdatedAt      *string         `json:"updated_at"`       // "2023-10-13T18:08:22.068Z"
	CreatedAt      *string         `json:"created_at"`       // "2023-10-13T18:08:22.068Z"
	LastAccessedAt *string         `json:"last_accessed_at"` // "2023-10-13T18:08:22.068Z"
	Metadata       *ObjectMetadata `json:"metadata"`         // null
}

type StorageAPI

type StorageAPI struct {
	*fetcher.Fetcher
}

func (*StorageAPI) CopyObject

func (s *StorageAPI) CopyObject(ctx context.Context, bucketId, srcPath, dstPath string) (CopyObjectResponse, error)

func (*StorageAPI) CreateBucket

func (*StorageAPI) DeleteBucket

func (s *StorageAPI) DeleteBucket(ctx context.Context, bucketId string) (DeleteBucketResponse, error)

func (*StorageAPI) DeleteObjects

func (s *StorageAPI) DeleteObjects(ctx context.Context, bucket string, prefixes []string) ([]DeleteObjectsResponse, error)

func (*StorageAPI) DownloadObject

func (s *StorageAPI) DownloadObject(ctx context.Context, remotePath, localPath string, fsys afero.Fs) error

func (*StorageAPI) ListBuckets

func (s *StorageAPI) ListBuckets(ctx context.Context) ([]BucketResponse, error)

func (*StorageAPI) ListObjects

func (s *StorageAPI) ListObjects(ctx context.Context, bucket, prefix string, page int) ([]ObjectResponse, error)

func (*StorageAPI) MoveObject

func (s *StorageAPI) MoveObject(ctx context.Context, bucketId, srcPath, dstPath string) (MoveObjectResponse, error)

func (*StorageAPI) UpdateBucket added in v1.180.0

func (*StorageAPI) UploadObject

func (s *StorageAPI) UploadObject(ctx context.Context, remotePath, localPath string, fsys afero.Fs, opts ...func(*FileOptions)) error

type UpdateBucketRequest added in v1.180.0

type UpdateBucketRequest struct {
	Id string `json:"id"`
	*BucketProps
}

type UpdateBucketResponse added in v1.180.0

type UpdateBucketResponse struct {
	Message string `json:"message"`
}

Jump to

Keyboard shortcuts

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