list all/folder/feed items

This commit is contained in:
Nazar Kanaev
2020-07-05 20:19:03 +01:00
parent 087f0d5657
commit d01060ba3b
5 changed files with 83 additions and 36 deletions

View File

@@ -263,7 +263,7 @@ func FeedItemsHandler(rw http.ResponseWriter, req *http.Request) {
return
}
rw.WriteHeader(http.StatusOK)
items := db(req).ListFeedItems(id)
items := db(req).ListItems(storage.ItemFilter{FeedID: &id})
writeJSON(rw, items)
}
@@ -292,3 +292,26 @@ func ItemHandler(rw http.ResponseWriter, req *http.Request) {
rw.WriteHeader(http.StatusMethodNotAllowed)
}
}
func FolderItemsHandler(rw http.ResponseWriter, req *http.Request) {
if req.Method == "GET" {
id, err := strconv.ParseInt(Vars(req)["id"], 10, 64)
if err != nil {
rw.WriteHeader(http.StatusBadRequest)
return
}
items := db(req).ListItems(storage.ItemFilter{FolderID: &id})
writeJSON(rw, items)
} else {
rw.WriteHeader(http.StatusMethodNotAllowed)
}
}
func ItemListHandler(rw http.ResponseWriter, req *http.Request) {
if req.Method == "GET" {
items := db(req).ListItems(storage.ItemFilter{})
writeJSON(rw, items)
} else {
rw.WriteHeader(http.StatusMethodNotAllowed)
}
}

View File

@@ -73,10 +73,12 @@ var routes []Route = []Route{
p("/api/status", StatusHandler),
p("/api/folders", FolderListHandler),
p("/api/folders/:id", FolderHandler),
p("/api/folders/:id/items", FolderItemsHandler),
p("/api/feeds", FeedListHandler),
p("/api/feeds/:id", FeedHandler),
p("/api/feeds/:id/items", FeedItemsHandler),
p("/api/feeds/find", FeedHandler),
p("/api/items", ItemListHandler),
p("/api/items/:id", ItemHandler),
}