storage

package
v0.0.0-...-c0a5b86 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2022 License: Apache-2.0 Imports: 16 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ObjectNotFoundError = errors.New("Object not found")

Functions

This section is empty.

Types

type Bucket

type Bucket interface {
	GetAllObjects() ([]Object, error)
	Delete() error // test only
}

type Object

type Object interface {
	NewReader() (io.ReadCloser, error)
	NewWriter() io.WriteCloser
	Version() (Version, error)
}

public only because []Object != []ObjectImpl :(

type Storage

type Storage struct {
	Name     string
	Bucket   Bucket
	Object   Object
	Archiver tarrer
}

func NewGCSStorage

func NewGCSStorage(serviceAccountKey, objectName, bucketName string) (Storage, error)

func (Storage) DeleteBucket

func (s Storage) DeleteBucket() error

test cleanup only

func (Storage) Download

func (s Storage) Download(targetDir string) (Version, error)

func (Storage) GetAllNewerVersions

func (s Storage) GetAllNewerVersions(watermark Version) ([]Version, error)

func (Storage) Upload

func (s Storage) Upload(filePath string) (Version, error)

func (Storage) Version

func (s Storage) Version() (Version, error)

type StorageClient

type StorageClient interface {
	Download(filePath string) (Version, error)
	Upload(filePath string) (Version, error)
	Version() (Version, error)
	GetAllNewerVersions(watermark Version) ([]Version, error)
	DeleteBucket() error // test cleanup only
}

func NewStorageClient

func NewStorageClient(gcpServiceAccountKey, objectName, bucketName string) (StorageClient, error)

type Version

type Version struct {
	Name    string    `json:"name"`
	Ref     string    `json:"ref"`
	Updated time.Time `json:"updated"`
}

Jump to

Keyboard shortcuts

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