From 63f0a1738854094622f777cd4bd2a3fcfa95bc27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Guillot?= Date: Fri, 2 May 2025 17:30:34 -0700 Subject: [PATCH] fix(googlereader): avoid panic for inexisting feed or category --- internal/googlereader/handler.go | 13 +++++++++++++ internal/storage/category.go | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/internal/googlereader/handler.go b/internal/googlereader/handler.go index 2e1b168e..11b2cbbd 100644 --- a/internal/googlereader/handler.go +++ b/internal/googlereader/handler.go @@ -800,10 +800,15 @@ func rename(stream Stream, title string, store *storage.Storage, userID int64) e if title == "" { return errors.New("empty title") } + feed, err := getFeed(stream, store, userID) if err != nil { return err } + if feed == nil { + return errors.New("feed not found") + } + feedModification := model.FeedModificationRequest{ Title: &title, } @@ -816,10 +821,18 @@ func move(stream Stream, destination Stream, store *storage.Storage, userID int6 if err != nil { return err } + if feed == nil { + return errors.New("feed not found") + } + category, err := getOrCreateCategory(destination, store, userID) if err != nil { return err } + if category == nil { + return errors.New("category not found or unable to create category") + } + feedModification := model.FeedModificationRequest{ CategoryID: &category.ID, } diff --git a/internal/storage/category.go b/internal/storage/category.go index 4f6ee56e..f3e4598a 100644 --- a/internal/storage/category.go +++ b/internal/storage/category.go @@ -192,7 +192,7 @@ func (s *Storage) CreateCategory(userID int64, request *model.CategoryCreationRe ) if err != nil { - return nil, fmt.Errorf(`store: unable to create category %q: %v`, request.Title, err) + return nil, fmt.Errorf(`store: unable to create category %q for user ID %d: %v`, request.Title, userID, err) } return &category, nil