33 lines
838 B
Go
33 lines
838 B
Go
package types
|
|
|
|
// Store is used to persist data.
|
|
type Store struct {
|
|
Users *UsersVerify
|
|
Config ConfigStore
|
|
Share ShareStore
|
|
}
|
|
|
|
// TODO: wrappers to verify
|
|
|
|
// ConfigStore is used to manage configurations relativey to a data storage.
|
|
type ConfigStore interface {
|
|
Get(name string, to interface{}) error
|
|
Save(name string, from interface{}) error
|
|
GetSettings() (*Settings, error)
|
|
SaveSettings(*Settings) error
|
|
SaveRunner(*Runner) error
|
|
GetRunner() (*Runner, error)
|
|
GetAuther(AuthMethod) (Auther, error)
|
|
SaveAuther(Auther) error
|
|
}
|
|
|
|
// ShareStore is the interface to manage share links.
|
|
type ShareStore interface {
|
|
Get(hash string) (*ShareLink, error)
|
|
GetPermanent(path string) (*ShareLink, error)
|
|
GetByPath(path string) ([]*ShareLink, error)
|
|
Gets() ([]*ShareLink, error)
|
|
Save(s *ShareLink) error
|
|
Delete(hash string) error
|
|
}
|