Documentation ¶
Index ¶
- type CreateBody
- type Link
- type Storage
- func (s *Storage) All() ([]*Link, error)
- func (s *Storage) Delete(hash string) error
- func (s *Storage) FindByUserID(id uint) ([]*Link, error)
- func (s *Storage) GetByHash(hash string) (*Link, error)
- func (s *Storage) GetPermanent(path string, id uint) (*Link, error)
- func (s *Storage) Gets(path string, id uint) ([]*Link, error)
- func (s *Storage) Save(l *Link) error
- type StorageBackend
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateBody ¶
type Link ¶
type Link struct { Hash string `json:"hash" storm:"id,index"` Path string `json:"path" storm:"index"` UserID uint `json:"userID"` Expire int64 `json:"expire"` PasswordHash string `json:"password_hash,omitempty"` // Token is a random value that will only be set when PasswordHash is set. It is // URL-Safe and is used to download links in password-protected shares via a // query arg. Token string `json:"token,omitempty"` }
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) FindByUserID ¶
FindByUserID wraps a StorageBackend.FindByUserID.
func (*Storage) GetPermanent ¶
GetPermanent wraps a StorageBackend.GetPermanent
type StorageBackend ¶
type StorageBackend interface { All() ([]*Link, error) FindByUserID(id uint) ([]*Link, error) 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.
Click to show internal directories.
Click to hide internal directories.