rename Storage struct to SQLiteStorage

This commit is contained in:
nkanaev
2026-06-07 23:17:07 +01:00
parent 76adcf0d62
commit dc836ed4fd
8 changed files with 29 additions and 29 deletions

View File

@@ -24,7 +24,7 @@ type CreateFeedParams struct {
FolderID *int64
}
func (s *Storage) CreateFeed(params CreateFeedParams) *Feed {
func (s *SQLiteStorage) CreateFeed(params CreateFeedParams) *Feed {
title := params.Title
if title == "" {
title = params.FeedLink
@@ -57,7 +57,7 @@ func (s *Storage) CreateFeed(params CreateFeedParams) *Feed {
}
}
func (s *Storage) DeleteFeed(feedId int64) bool {
func (s *SQLiteStorage) DeleteFeed(feedId int64) bool {
result, err := s.db.Exec(`delete from feeds where id = :id`, sql.Named("id", feedId))
if err != nil {
log.Print(err)
@@ -80,7 +80,7 @@ type UpdateFeedParams struct {
Icon Nullable[[]byte]
}
func (s *Storage) UpdateFeed(feedId int64, params UpdateFeedParams) (bool, error) {
func (s *SQLiteStorage) UpdateFeed(feedId int64, params UpdateFeedParams) (bool, error) {
_, err := s.db.Exec(`
update feeds set
title = coalesce(:title, title),
@@ -104,7 +104,7 @@ func (s *Storage) UpdateFeed(feedId int64, params UpdateFeedParams) (bool, error
return true, nil
}
func (s *Storage) ListFeeds() []Feed {
func (s *SQLiteStorage) ListFeeds() []Feed {
result := make([]Feed, 0)
rows, err := s.db.Query(`
select id, folder_id, title, description, link, feed_link,
@@ -136,7 +136,7 @@ func (s *Storage) ListFeeds() []Feed {
return result
}
func (s *Storage) GetFeed(id int64) *Feed {
func (s *SQLiteStorage) GetFeed(id int64) *Feed {
var f Feed
err := s.db.QueryRow(`
select

View File

@@ -13,7 +13,7 @@ type FeedState struct {
HTTPEtag string
}
func (s *Storage) ListFeedStates() ([]FeedState, error) {
func (s *SQLiteStorage) ListFeedStates() ([]FeedState, error) {
rows, err := s.db.Query(`
select
feed_id
@@ -46,7 +46,7 @@ func (s *Storage) ListFeedStates() ([]FeedState, error) {
return states, nil
}
func (s *Storage) GetFeedState(feedID int64) (*FeedState, error) {
func (s *SQLiteStorage) GetFeedState(feedID int64) (*FeedState, error) {
var state FeedState
err := s.db.QueryRow(`
select
@@ -79,7 +79,7 @@ type UpdateFeedStateParams struct {
HTTPEtag *string
}
func (s *Storage) UpdateFeedState(feedID int64, params UpdateFeedStateParams) (bool, error) {
func (s *SQLiteStorage) UpdateFeedState(feedID int64, params UpdateFeedStateParams) (bool, error) {
lastError := params.LastError
if lastError != nil && *lastError == "" {
lastError = nil

View File

@@ -11,7 +11,7 @@ type Folder struct {
IsExpanded bool `json:"is_expanded"`
}
func (s *Storage) CreateFolder(title string) *Folder {
func (s *SQLiteStorage) CreateFolder(title string) *Folder {
expanded := true
row := s.db.QueryRow(`
insert into folders (title, is_expanded) values (:title, :is_expanded)
@@ -30,7 +30,7 @@ func (s *Storage) CreateFolder(title string) *Folder {
return &Folder{Id: id, Title: title, IsExpanded: expanded}
}
func (s *Storage) DeleteFolder(folderId int64) bool {
func (s *SQLiteStorage) DeleteFolder(folderId int64) bool {
_, err := s.db.Exec(`delete from folders where id = :id`, sql.Named("id", folderId))
if err != nil {
log.Print(err)
@@ -43,7 +43,7 @@ type UpdateFolderParams struct {
IsExpanded *bool
}
func (s *Storage) UpdateFolder(folderId int64, params UpdateFolderParams) (bool, error) {
func (s *SQLiteStorage) UpdateFolder(folderId int64, params UpdateFolderParams) (bool, error) {
_, err := s.db.Exec(`
update folders set
title = coalesce(:title, title),
@@ -61,7 +61,7 @@ func (s *Storage) UpdateFolder(folderId int64, params UpdateFolderParams) (bool,
return true, nil
}
func (s *Storage) ListFolders() []Folder {
func (s *SQLiteStorage) ListFolders() []Folder {
result := make([]Folder, 0)
rows, err := s.db.Query(`
select id, title, is_expanded

View File

@@ -116,7 +116,7 @@ func (list ItemList) Swap(i, j int) {
list[i], list[j] = list[j], list[i]
}
func (s *Storage) CreateItems(items []Item) bool {
func (s *SQLiteStorage) CreateItems(items []Item) bool {
tx, err := s.db.Begin()
if err != nil {
log.Print(err)
@@ -241,7 +241,7 @@ func listQueryPredicate(filter ItemFilter, newestFirst bool) (string, []any) {
return predicate, args
}
func (s *Storage) CountItems() int {
func (s *SQLiteStorage) CountItems() int {
var count int
err := s.db.QueryRow(`select count(*) from items`).Scan(&count)
if err != nil {
@@ -251,7 +251,7 @@ func (s *Storage) CountItems() int {
return count
}
func (s *Storage) ListItems(
func (s *SQLiteStorage) ListItems(
filter ItemFilter,
limit int,
newestFirst bool,
@@ -305,7 +305,7 @@ func (s *Storage) ListItems(
return result
}
func (s *Storage) GetItem(id int64) *Item {
func (s *SQLiteStorage) GetItem(id int64) *Item {
i := &Item{}
err := s.db.QueryRow(`
select
@@ -324,7 +324,7 @@ func (s *Storage) GetItem(id int64) *Item {
return i
}
func (s *Storage) UpdateItemStatus(item_id int64, status ItemStatus) bool {
func (s *SQLiteStorage) UpdateItemStatus(item_id int64, status ItemStatus) bool {
_, err := s.db.Exec(`update items set status = :status where id = :id`,
sql.Named("status", status),
sql.Named("id", item_id),
@@ -332,7 +332,7 @@ func (s *Storage) UpdateItemStatus(item_id int64, status ItemStatus) bool {
return err == nil
}
func (s *Storage) MarkItemsRead(filter MarkFilter) bool {
func (s *SQLiteStorage) MarkItemsRead(filter MarkFilter) bool {
predicate, args := listQueryPredicate(ItemFilter{
FolderID: filter.FolderID,
FeedID: filter.FeedID,
@@ -355,7 +355,7 @@ type FeedStat struct {
StarredCount int64 `json:"starred"`
}
func (s *Storage) FeedStats() []FeedStat {
func (s *SQLiteStorage) FeedStats() []FeedStat {
result := make([]FeedStat, 0)
rows, err := s.db.Query(fmt.Sprintf(`
select
@@ -388,7 +388,7 @@ var (
// - Never delete starred entries.
// - Keep at least 50 latest items for each feed.
// - Delete entries older than 90 days relative to the latest arrived item in the same feed.
func (s *Storage) DeleteOldItems() {
func (s *SQLiteStorage) DeleteOldItems() {
result, err := s.db.Exec(`
delete from items
where id in (

View File

@@ -35,7 +35,7 @@ type testItemScope struct {
folder1, folder2 *Folder
}
func testItemsSetup(db *Storage) testItemScope {
func testItemsSetup(db *SQLiteStorage) testItemScope {
folder1 := db.CreateFolder("folder1")
folder2 := db.CreateFolder("folder2")
@@ -115,7 +115,7 @@ func testItemsSetup(db *Storage) testItemScope {
}
}
func getItem(db *Storage, guid string) *Item {
func getItem(db *SQLiteStorage, guid string) *Item {
i := &Item{}
err := db.db.QueryRow(`
select

View File

@@ -49,7 +49,7 @@ func settingsDefaults() Settings {
}
}
func (s *Storage) GetSettings() Settings {
func (s *SQLiteStorage) GetSettings() Settings {
result := settingsDefaults()
rows, err := s.db.Query(`select key, val from settings;`)
if err != nil {
@@ -102,7 +102,7 @@ type UpdateSettingsParams struct {
Language *string `json:"language"`
}
func (s *Storage) UpdateSettings(params UpdateSettingsParams) bool {
func (s *SQLiteStorage) UpdateSettings(params UpdateSettingsParams) bool {
tx, err := s.db.Begin()
if err != nil {
log.Print(err)

View File

@@ -17,7 +17,7 @@ func init() {
})
}
type Storage struct {
type SQLiteStorage struct {
db *sql.DB
}
@@ -30,7 +30,7 @@ func SetNullable[T any](v *T) Nullable[T] {
return Nullable[T]{Set: true, Value: v}
}
func New(path string) (*Storage, error) {
func New(path string) (*SQLiteStorage, error) {
if pos := strings.IndexRune(path, '?'); pos == -1 {
params := "_journal=WAL&_sync=NORMAL&_busy_timeout=5000&cache=shared"
log.Printf("opening db with params: %s", params)
@@ -45,9 +45,9 @@ func New(path string) (*Storage, error) {
if err = migrate(db); err != nil {
return nil, err
}
return &Storage{db: db}, nil
return &SQLiteStorage{db: db}, nil
}
func (s *Storage) Close() error {
func (s *SQLiteStorage) Close() error {
return s.db.Close()
}

View File

@@ -7,7 +7,7 @@ import (
"testing"
)
func testDB() *Storage {
func testDB() *SQLiteStorage {
log.SetOutput(io.Discard)
db, err := New(":memory:")
if err != nil {