add storage interface, fix all references

This commit is contained in:
nkanaev
2026-06-10 22:24:04 +01:00
parent 3f10371975
commit f2556178b3
9 changed files with 65 additions and 57 deletions

36
src/storage/storage.go Normal file
View 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)
}