taskstorage

package
v0.0.0-...-03bec22 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2022 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type File

type File struct {
	Name        string
	ContentType string
	Size        int64
}

TODO: refactor

type FileUrl

type FileUrl struct {
	URL      *url.URL
	Storage  string
	FilePath string
	Dir      string
	FileName string
}

func ParseFileUrl

func ParseFileUrl(fileuri string) (*FileUrl, error)

type MinIOConfig

type MinIOConfig struct {
	Endpoint        string `json:"endpoint" toml:"endpoint"`
	AccessKey       string `json:"access_key" toml:"access_key"`
	AccessKeySecret string `json:"access_key_secret" toml:"access_key_secret"`
	UseSSL          bool   `json:"use_ssl" toml:"use_ssl"`
	Location        string `json:"location" toml:"location"`
}

MinIOConfig - config entry describing a storage config

type MinIOFileReader

type MinIOFileReader struct {
	// contains filtered or unexported fields
}

func (*MinIOFileReader) Close

func (self *MinIOFileReader) Close() error

func (*MinIOFileReader) Read

func (self *MinIOFileReader) Read(p []byte) (n int, err error)

func (*MinIOFileReader) Seek

func (self *MinIOFileReader) Seek(offset int64, whence int) (int64, error)

func (*MinIOFileReader) Size

func (self *MinIOFileReader) Size() (int64, error)

type MinIOFileWriter

type MinIOFileWriter struct {
	// contains filtered or unexported fields
}

func (*MinIOFileWriter) Close

func (self *MinIOFileWriter) Close() error

func (*MinIOFileWriter) Write

func (self *MinIOFileWriter) Write(p []byte) (n int, err error)

type MinIOStorage

type MinIOStorage struct {
	// contains filtered or unexported fields
}

MinIOStorage - describes a minio storage

func ConnectMinIO

func ConnectMinIO(conf *MinIOConfig) (*MinIOStorage, error)

ConnectMinIO - opens a connection to minio and returns the connection object

func (*MinIOStorage) Close

func (self *MinIOStorage) Close()

Close - closes the minio connection

func (*MinIOStorage) CreateFolder

func (self *MinIOStorage) CreateFolder(folder string) error

CreateBucket - creates a new storage bucket

func (*MinIOStorage) DeleteFile

func (self *MinIOStorage) DeleteFile(remotefile string) error

DeleteFile - deletes a file on the minio storage

func (*MinIOStorage) DeleteFolder

func (self *MinIOStorage) DeleteFolder(folder string) error

DeleteBucket - deletes the given storage bucket

func (*MinIOStorage) GetFileReader

func (self *MinIOStorage) GetFileReader(fileurl *FileUrl) (VirtualFileReader, error)

func (*MinIOStorage) GetFileWriter

func (self *MinIOStorage) GetFileWriter(fileurl *FileUrl) (VirtualFileWriter, error)

func (*MinIOStorage) List

func (self *MinIOStorage) List(folder string) ([]File, error)

List - lists files in a remote location

type SmbConfig

type SmbConfig struct {
	Server   string `json:"server" toml:"server"`
	User     string `json:"user" toml:"user"`
	Password string `json:"password" toml:"password"`
}

SmbConfig - config entry describing a storage config

type SmbFile

type SmbFile struct {
	// contains filtered or unexported fields
}

func (*SmbFile) Close

func (self *SmbFile) Close() error

func (*SmbFile) Read

func (self *SmbFile) Read(p []byte) (n int, err error)

func (*SmbFile) Seek

func (self *SmbFile) Seek(offset int64, whence int) (int64, error)

func (*SmbFile) Size

func (self *SmbFile) Size() (int64, error)

func (*SmbFile) Write

func (self *SmbFile) Write(p []byte) (n int, err error)

type SmbStorage

type SmbStorage struct {
	// contains filtered or unexported fields
}

SmbStorage - describes a smb storage

func ConnectSmb

func ConnectSmb(conf *SmbConfig) (*SmbStorage, error)

ConnectSmb - opens a connection to smb and returns the connection object

func (*SmbStorage) Close

func (self *SmbStorage) Close()

Close - closes the samba connection

func (*SmbStorage) CreateFolder

func (self *SmbStorage) CreateFolder(folder string) error

CreateFolder - creates a new folder

func (*SmbStorage) DeleteFile

func (self *SmbStorage) DeleteFile(remotefile string) error

DeleteFile - deletes a file on the smb storage

func (*SmbStorage) DeleteFolder

func (self *SmbStorage) DeleteFolder(folder string) error

DeleteFolder - deletes the given folder

func (*SmbStorage) GetFileReader

func (self *SmbStorage) GetFileReader(fileurl *FileUrl) (VirtualFileReader, error)

func (*SmbStorage) GetFileWriter

func (self *SmbStorage) GetFileWriter(fileurl *FileUrl) (VirtualFileWriter, error)

func (*SmbStorage) List

func (self *SmbStorage) List(folder string) ([]File, error)

List - lists files in a remote location

type Storage

type Storage interface {
	List(folder string) ([]File, error)

	CreateFolder(folder string) error
	DeleteFolder(folder string) error

	DeleteFile(remotefile string) error

	GetFileReader(fileurl *FileUrl) (VirtualFileReader, error)
	GetFileWriter(fileurl *FileUrl) (VirtualFileWriter, error)

	Close()
}

Storage -

func ConnectStorage

func ConnectStorage(url *FileUrl) (Storage, error)

type VirtualFileReader

type VirtualFileReader interface {
	io.Reader
	//io.Seeker // optional
	Size() (int64, error)
	io.Closer
}

TODO: use Stat instead of Size() ?

type VirtualFileWriter

type VirtualFileWriter interface {
	io.Writer
	//io.Seeker // optional
	io.Closer
}

Jump to

Keyboard shortcuts

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