diff options
author | Frédéric Guillot <fred@miniflux.net> | 2017-11-24 22:29:20 -0800 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2017-11-24 22:29:20 -0800 |
commit | 71bf7e43580377a9bb98c6444c32e95b53602f12 (patch) | |
tree | 477d57670a17345a28af8e09a077113d3c7b827f /reader/feed | |
parent | 747da03e4cf1478937a434792fdb52dd10ae8cda (diff) |
Improve API
Diffstat (limited to 'reader/feed')
-rw-r--r-- | reader/feed/handler.go | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/reader/feed/handler.go b/reader/feed/handler.go index c046ad9..c6dc448 100644 --- a/reader/feed/handler.go +++ b/reader/feed/handler.go @@ -18,11 +18,12 @@ import ( ) var ( - errRequestFailed = "Unable to execute request: %v" - errServerFailure = "Unable to fetch feed (statusCode=%d)." - errDuplicate = "This feed already exists (%s)." - errNotFound = "Feed %d not found" - errEncoding = "Unable to normalize encoding: %v." + errRequestFailed = "Unable to execute request: %v" + errServerFailure = "Unable to fetch feed (statusCode=%d)." + errDuplicate = "This feed already exists (%s)." + errNotFound = "Feed %d not found" + errEncoding = "Unable to normalize encoding: %v." + errCategoryNotFound = "Category not found for this user." ) // Handler contains all the logic to create and refresh feeds. @@ -34,6 +35,10 @@ type Handler struct { func (h *Handler) CreateFeed(userID, categoryID int64, url string) (*model.Feed, error) { defer helper.ExecutionTime(time.Now(), fmt.Sprintf("[Handler:CreateFeed] feedUrl=%s", url)) + if !h.store.CategoryExists(userID, categoryID) { + return nil, errors.NewLocalizedError(errCategoryNotFound) + } + client := http.NewClient(url) response, err := client.Get() if err != nil { |