mirror of
https://github.com/nkanaev/yarr.git
synced 2026-06-24 09:05:16 +00:00
add storage interface, fix all references
This commit is contained in:
36
src/storage/storage.go
Normal file
36
src/storage/storage.go
Normal file
@@ -0,0 +1,36 @@
|
||||
package storage
|
||||
|
||||
import (
|
||||
"github.com/nkanaev/yarr/src/storage/model"
|
||||
"github.com/nkanaev/yarr/src/storage/sqlite"
|
||||
)
|
||||
|
||||
type Storage interface {
|
||||
Close() error
|
||||
CountItems() int
|
||||
CreateFeed(params model.CreateFeedParams) *model.Feed
|
||||
CreateFolder(title string) *model.Folder
|
||||
CreateItems(items []model.Item) bool
|
||||
DeleteFeed(feedId int64) bool
|
||||
DeleteFolder(folderId int64) bool
|
||||
DeleteOldItems()
|
||||
FeedStats() []model.FeedStat
|
||||
GetFeed(id int64) *model.Feed
|
||||
GetFeedState(feedID int64) (*model.FeedState, error)
|
||||
GetItem(id int64) *model.Item
|
||||
GetSettings() model.Settings
|
||||
ListFeedStates() ([]model.FeedState, error)
|
||||
ListFeeds() []model.Feed
|
||||
ListFolders() []model.Folder
|
||||
ListItems(filter model.ItemFilter, limit int, newestFirst bool, withContent bool) []model.Item
|
||||
MarkItemsRead(filter model.MarkFilter) bool
|
||||
UpdateFeed(feedId int64, params model.UpdateFeedParams) (bool, error)
|
||||
UpdateFeedState(feedID int64, params model.UpdateFeedStateParams) (bool, error)
|
||||
UpdateFolder(folderId int64, params model.UpdateFolderParams) (bool, error)
|
||||
UpdateItemStatus(item_id int64, status model.ItemStatus) bool
|
||||
UpdateSettings(params model.UpdateSettingsParams) bool
|
||||
}
|
||||
|
||||
func New(path string) (Storage, error) {
|
||||
return sqlite.New(path)
|
||||
}
|
||||
Reference in New Issue
Block a user