mirror of
https://github.com/nkanaev/yarr.git
synced 2025-05-24 00:33:14 +00:00
item list functions
This commit is contained in:
parent
1200ef7846
commit
064c5fca6a
3
main.go
3
main.go
@ -23,7 +23,7 @@ func main() {
|
|||||||
store.RenameFeed(feed.Id, "newtitle")
|
store.RenameFeed(feed.Id, "newtitle")
|
||||||
log.Print(store.ListFeeds())
|
log.Print(store.ListFeeds())
|
||||||
*/
|
*/
|
||||||
/*
|
/*;
|
||||||
items := make([]storage.Item, 3, 3)
|
items := make([]storage.Item, 3, 3)
|
||||||
items = append(items, storage.Item{
|
items = append(items, storage.Item{
|
||||||
Id: "id",
|
Id: "id",
|
||||||
@ -65,5 +65,6 @@ func main() {
|
|||||||
Image: "image",
|
Image: "image",
|
||||||
})
|
})
|
||||||
log.Print(store.CreateItems(items))
|
log.Print(store.CreateItems(items))
|
||||||
|
log.Print(store.ListItems())
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package storage
|
package storage
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
type ItemStatus int
|
type ItemStatus int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -56,3 +58,61 @@ func (s *Storage) CreateItems(items []Item) bool {
|
|||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func itemQuery(s *Storage, cond string, v ...interface{}) []Item {
|
||||||
|
result := make([]Item, 0, 0)
|
||||||
|
query := fmt.Sprintf(`
|
||||||
|
select
|
||||||
|
id, feed_id, title, link, description,
|
||||||
|
content, author, date, date_updated, status, image
|
||||||
|
from items
|
||||||
|
where %s`, cond)
|
||||||
|
s.log.Print(query)
|
||||||
|
rows, err := s.db.Query(query, v...)
|
||||||
|
if err != nil {
|
||||||
|
s.log.Print(err)
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
for rows.Next() {
|
||||||
|
var x Item
|
||||||
|
err = rows.Scan(
|
||||||
|
&x.Id,
|
||||||
|
&x.FeedId,
|
||||||
|
&x.Title,
|
||||||
|
&x.Link,
|
||||||
|
&x.Description,
|
||||||
|
&x.Content,
|
||||||
|
&x.Author,
|
||||||
|
&x.Date,
|
||||||
|
&x.DateUpdated,
|
||||||
|
&x.Status,
|
||||||
|
&x.Image,
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
s.log.Print(err)
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
result = append(result, x)
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) ListItems() []Item {
|
||||||
|
return itemQuery(s, `1`)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) ListFolderItems(folder_id int64) []Item {
|
||||||
|
return itemQuery(s, `folder_id = ?`, folder_id)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) ListFolderItemsFiltered(folder_id int64, status ItemStatus) []Item {
|
||||||
|
return itemQuery(s, `folder_id = ? and status = ?`, folder_id, status)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) ListFeedItems(feed_id int64) []Item {
|
||||||
|
return itemQuery(s, `feed_id = ?`, feed_id)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) ListFeedItemsFiltered(feed_id int64, status ItemStatus) []Item {
|
||||||
|
return itemQuery(s, `feed_id = ? and status = ?`, feed_id, status)
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user