share

package
v2.1.1 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2020 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Link struct {
	Hash   string `json:"hash" storm:"id,index"`
	Path   string `json:"path" storm:"index"`
	UserID uint   `json:"userID"`
	Expire int64  `json:"expire"`
}

Link is the information needed to build a shareable link.

type Storage

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

Storage is a storage.

func NewStorage

func NewStorage(back StorageBackend) *Storage

NewStorage creates a share links storage from a backend.

func (*Storage) Delete

func (s *Storage) Delete(hash string) error

Delete wraps a StorageBackend.Delete

func (*Storage) GetByHash

func (s *Storage) GetByHash(hash string) (*Link, error)

GetByHash wraps a StorageBackend.GetByHash.

func (*Storage) GetPermanent

func (s *Storage) GetPermanent(path string, id uint) (*Link, error)

GetPermanent wraps a StorageBackend.GetPermanent

func (*Storage) Gets

func (s *Storage) Gets(path string, id uint) ([]*Link, error)

Gets wraps a StorageBackend.Gets

func (*Storage) Save

func (s *Storage) Save(l *Link) error

Save wraps a StorageBackend.Save

type StorageBackend

type StorageBackend interface {
	GetByHash(hash string) (*Link, error)
	GetPermanent(path string, id uint) (*Link, error)
	Gets(path string, id uint) ([]*Link, error)
	Save(s *Link) error
	Delete(hash string) error
}

StorageBackend is the interface to implement for a share storage.

Jump to

Keyboard shortcuts

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