storage

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Jul 9, 2021 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// TypeFile тип файла
	TypeFile EntryType = iota
	// TypeFolder тип директория
	TypeFolder
	// TypeLink тип ссылка
	TypeLink

	StorageTypeDisk      Type = "disk"
	StorageTypeFTP       Type = "ftp"
	StorageTypeS3        Type = "s3"
	StorageTypeComposite Type = "composite"
	StorageTypeInvalid   Type = "invalid"
)
View Source
const (
	// ConnectionTimeout количество секунд на подключение к ftp-серверу
	ConnectionTimeout = 5
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Composite

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

Composite струкрура для композиции Storage

func NewComposite

func NewComposite() *Composite

NewComposite создает новый экземпляр StorageComposit

func (*Composite) Add

func (s *Composite) Add(storage Storage)

Add добавляет новый Storage

func (*Composite) Download

func (s *Composite) Download(source, destination string) (err error)

Download скачивает файл source из всех Storage

func (*Composite) GetStorageKey

func (s *Composite) GetStorageKey() *Key

func (*Composite) GetStorageType

func (s *Composite) GetStorageType() Type

GetStorageType возвращает тип хранилища

func (*Composite) List

func (s *Composite) List(path string) (files []*FileData, err error)

List возвращает список файлов из всех Storage

func (*Composite) Upload

func (s *Composite) Upload(source, destination string) (err error)

Upload загружает файл source во все Storage

type Disk

type Disk struct{}

Disk струкрура взаимодействия с диском

func NewDisk

func NewDisk() *Disk

NewDisk создает новый экземпляр Disk

func (*Disk) Download

func (s *Disk) Download(source, destination string) error

Download скачивает файл с ftp-сервера

func (*Disk) GetStorageKey

func (s *Disk) GetStorageKey() *Key

GetStorageKey возвращает ключ хранилища

func (*Disk) GetStorageType

func (s *Disk) GetStorageType() Type

GetStorageType возвращает тип хранилища

func (*Disk) List

func (s *Disk) List(path string) ([]*FileData, error)

List получает список файлов, находящихся на ftp-сервере в path

func (*Disk) Upload

func (s *Disk) Upload(source, destination string) error

Upload загружает файл на ftp-сервер

type EntryType

type EntryType int

EntryType описывает тип файла

type FileData

type FileData struct {
	Name string
	Type EntryType //	файл, директория или ссылка
	Size uint64
	Time time.Time // время изменения
}

FileData описывает файл хранилища

type FtpServer

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

FtpServer струкрура взаимодействия с ftp-сервером

func NewFtpServer

func NewFtpServer(host, user, password string) *FtpServer

NewFtpServer создает новый экземпляр FtpServer

func (*FtpServer) Download

func (s *FtpServer) Download(source, destination string) error

Download скачивает файл с ftp-сервера

func (*FtpServer) GetStorageKey

func (s *FtpServer) GetStorageKey() *Key

GetStorageKey возвращает ключ хранилища

func (*FtpServer) GetStorageType

func (s *FtpServer) GetStorageType() Type

GetStorageType возвращает тип хранилища

func (*FtpServer) List

func (s *FtpServer) List(path string) ([]*FileData, error)

List получает список файлов, находящихся на ftp-сервере в path

func (*FtpServer) Upload

func (s *FtpServer) Upload(source, destination string) error

Upload загружает файл на ftp-сервер

type Key

type Key struct {
	URL      string `json:"url" valid:"optional,url"`
	Username string `json:"username" valid:"optional,type(string)"`
	Password string `json:"password" valid:"optional,type(string)"`
}

type S3

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

S3 струкрура взаимодействия с S3 хранилищем

func NewS3

func NewS3(url, accessKey, secretKey string) (*S3, error)

NewS3 создает новое S3 хранилище

func (*S3) Download

func (s *S3) Download(source, destination string) error

Download скачивает файл из S3 хранилища

func (*S3) GetStorageKey

func (s *S3) GetStorageKey() *Key

GetStorageKey возвращает ключ хранилища

func (*S3) GetStorageType

func (s *S3) GetStorageType() Type

GetStorageType возвращает тип хранилища

func (*S3) List

func (s *S3) List(path string) ([]*FileData, error)

List получает список файлов, находящихся в S3 хранилище в path

func (*S3) Upload

func (s *S3) Upload(source, destination string) error

Upload загружает файл в S3 хранилище

type Storage

type Storage interface {
	GetStorageType() Type
	GetStorageKey() *Key
	List(string) ([]*FileData, error)
	Download(string, string) error
	Upload(string, string) error
}

Storage интерфейс хранилища

func NewStorageByType

func NewStorageByType(storageType Type, key *Key) (store Storage, err error)

type Type

type Type string

func StringToStorageType

func StringToStorageType(strType string) Type

Jump to

Keyboard shortcuts

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