folder/feed list functions

This commit is contained in:
Nazar Kanaev 2020-06-23 22:55:15 +01:00 committed by nkanaev
parent 7abe2a8c05
commit 1200ef7846
3 changed files with 62 additions and 6 deletions

12
main.go
View File

@ -12,14 +12,16 @@ func main() {
} }
log.Print(store) log.Print(store)
/* /*
folder := storage.CreateFolder("foo") folder := store.CreateFolder("foo")
storage.RenameFolder(folder.Id, "bar") store.RenameFolder(folder.Id, "bar")
storage.ToggleFolderExpanded(folder.Id, false) store.ToggleFolderExpanded(folder.Id, false)
log.Print(store.ListFolders())
*/ */
/* /*
feed := storage.CreateFeed( feed := store.CreateFeed(
"title", "description", "link", "feedlink", "icon", 1) "title", "description", "link", "feedlink", "icon", 1)
storage.RenameFeed(feed.Id, "newtitle") store.RenameFeed(feed.Id, "newtitle")
log.Print(store.ListFeeds())
*/ */
/* /*
items := make([]storage.Item, 3, 3) items := make([]storage.Item, 3, 3)

View File

@ -49,3 +49,33 @@ func (s *Storage) UpdateFeedFolder(feedId int64, newFolderId int64) bool {
_, err := s.db.Exec(`update feeds set folder_id = ? where id = ?`, intOrNil(newFolderId), feedId) _, err := s.db.Exec(`update feeds set folder_id = ? where id = ?`, intOrNil(newFolderId), feedId)
return err == nil return err == nil
} }
func (s *Storage) ListFeeds() []Feed {
result := make([]Feed, 0, 0)
rows, err := s.db.Query(`
select id, folder_id, title, description, link, feed_link, icon
from feeds
`)
if err != nil {
s.log.Print(err)
return result
}
for rows.Next() {
var f Feed
err = rows.Scan(
&f.Id,
&f.FolderId,
&f.Title,
&f.Description,
&f.Link,
&f.FeedLink,
&f.Icon,
)
if err != nil {
s.log.Print(err)
return result
}
result = append(result, f)
}
return result
}

View File

@ -1,6 +1,8 @@
package storage package storage
import "fmt" import (
"fmt"
)
type Folder struct { type Folder struct {
Id int64 Id int64
@ -40,3 +42,25 @@ func (s *Storage) ToggleFolderExpanded(folderId int64, isExpanded bool) bool {
_, err := s.db.Exec(`update folders set is_expanded = ? where id = ?`, isExpanded, folderId) _, err := s.db.Exec(`update folders set is_expanded = ? where id = ?`, isExpanded, folderId)
return err == nil return err == nil
} }
func (s *Storage) ListFolders() []Folder {
result := make([]Folder, 0, 0)
rows, err := s.db.Query(`
select id, title, is_expanded
from folders
`)
if err != nil {
s.log.Print(err)
return result
}
for rows.Next() {
var f Folder
err = rows.Scan(&f.Id, &f.Title, &f.IsExpanded)
if err != nil {
s.log.Print(err)
return result
}
result = append(result, f)
}
return result
}