completeduploads

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2020 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNotFound not found
	ErrNotFound = fmt.Errorf("not found")

	// ErrCannotBeDeleted bookmark cannot be deleted
	ErrCannotBeDeleted = fmt.Errorf("cannot be deleted")

	// ErrCannotGetMTime
	ErrCannotGetMTime = fmt.Errorf("failed getting local image mtime")
)

Functions

func Hash

func Hash(filePath string) (uint32, error)

Hash return the hash of a file

Types

type CompletedUploadedFileItem

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

func NewCompletedUploadedFileItem

func NewCompletedUploadedFileItem(filePath string) (CompletedUploadedFileItem, error)

NewCompletedUploadedFileItem creates a new item for the specified file

func (*CompletedUploadedFileItem) GetTrackedHash

func (f *CompletedUploadedFileItem) GetTrackedHash() string

GetTrackedHash returns the hash value stored in the cache.

func (*CompletedUploadedFileItem) GetTrackedMTime

func (f *CompletedUploadedFileItem) GetTrackedMTime() (int64, error)

GetTrackedMTime returns the last modified time value stored in the cache.

func (*CompletedUploadedFileItem) SetValue

func (f *CompletedUploadedFileItem) SetValue(hash uint32, mTime time.Time)

SetValue stores the Hash and mTime in the k/v store.

type InMemRepository

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

func NewInMemRepository

func NewInMemRepository() *InMemRepository

NewInMemRepository create a new repository

func (*InMemRepository) Close

func (r *InMemRepository) Close() error

Close closes the repository

func (*InMemRepository) Delete

func (r *InMemRepository) Delete(path string) error

Delete an item

func (*InMemRepository) Get

Get an item

func (*InMemRepository) Put

Store an item

type LevelDBRepository

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

func NewLevelDBRepository

func NewLevelDBRepository(db *leveldb.DB) *LevelDBRepository

NewLevelDBRepository create a new repository

func (*LevelDBRepository) Close

func (r *LevelDBRepository) Close() error

Close closes the DB.

func (*LevelDBRepository) Delete

func (r *LevelDBRepository) Delete(path string) error

Delete an item

func (*LevelDBRepository) Get

Get an item

func (*LevelDBRepository) Put

Store an item

type Repository

type Repository interface {
	Get(key string) (CompletedUploadedFileItem, error)
	Put(item CompletedUploadedFileItem) error
	Delete(key string) error
	Close() error
}

Repository represents a database where to track uploaded files

type Service

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

Service represents the repository where uploaded objects are tracked

func NewService

func NewService(r Repository) *Service

NewService created a Service to track uploaded objects

func (*Service) CacheAsAlreadyUploaded

func (s *Service) CacheAsAlreadyUploaded(filePath string) error

CacheAsAlreadyUploaded marks a file as already uploaded to prevent re-uploads

func (*Service) Close

func (s *Service) Close() error

Close closes the service.

No operation could be done after that.

func (*Service) IsAlreadyUploaded

func (s *Service) IsAlreadyUploaded(filePath string) (bool, error)

IsAlreadyUploaded checks if the file was already uploaded

func (*Service) RemoveAsAlreadyUploaded

func (s *Service) RemoveAsAlreadyUploaded(filePath string) error

RemoveAsAlreadyUploaded removes a file previously marked as uploaded

Jump to

Keyboard shortcuts

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