From 614264ebeae586703d16a63797db19a62ed8996b Mon Sep 17 00:00:00 2001 From: Marcus Noble Date: Sun, 8 Nov 2020 19:38:55 +0000 Subject: [PATCH] Toggle showing read items --- internal/feeds/store.go | 11 +++++++++++ internal/server/api.go | 4 ++++ internal/server/main.go | 1 + views/index.html | 25 +++++++++++++++++++++---- 4 files changed, 37 insertions(+), 4 deletions(-) diff --git a/internal/feeds/store.go b/internal/feeds/store.go index 913098a..1b106ba 100644 --- a/internal/feeds/store.go +++ b/internal/feeds/store.go @@ -55,6 +55,17 @@ func (fs *FeedStore) GetUnread() *[]ItemWithFeed { return items } +func (fs *FeedStore) GetAll() *[]ItemWithFeed { + items := &[]ItemWithFeed{} + fs.getDB().Table("items"). + Select("items.*, feeds.title as feed_title, feeds.homepage_url as feed_homepage_url"). + Order("items.created desc, items.title"). + Joins("left join feeds on feeds.id = items.feed_id"). + Find(items) + + return items +} + func (fs *FeedStore) SaveFeed(feed Feed) { fs.getDB().Omit("Items").Clauses(clause.OnConflict{ Columns: []clause.Column{{Name: "id"}}, diff --git a/internal/server/api.go b/internal/server/api.go index 9c85ce0..87981cd 100644 --- a/internal/server/api.go +++ b/internal/server/api.go @@ -33,6 +33,10 @@ func (a *API) GetUnread(c *fiber.Ctx) error { return c.JSON(a.FeedStore.GetUnread()) } +func (a *API) GetAll(c *fiber.Ctx) error { + return c.JSON(a.FeedStore.GetAll()) +} + func (a *API) PostRead(c *fiber.Ctx) error { a.FeedStore.MarkAsRead(c.Params("id")) return nil diff --git a/internal/server/main.go b/internal/server/main.go index 02ff01e..f004787 100644 --- a/internal/server/main.go +++ b/internal/server/main.go @@ -52,6 +52,7 @@ func Start(port string) error { app.Get("/api/feed/:id", api.GetFeed) app.Get("/api/item/:id", api.GetItem) app.Get("/api/unread", api.GetUnread) + app.Get("/api/all", api.GetAll) app.Post("/api/read/:id", api.PostRead) app.Post("/api/read", api.PostReadAll) app.Get("/api/refresh", api.RefreshAll) diff --git a/views/index.html b/views/index.html index bd5a8dd..d95e4ee 100644 --- a/views/index.html +++ b/views/index.html @@ -37,6 +37,9 @@