diff options
author | Frédéric Guillot <fred@miniflux.net> | 2017-11-21 16:08:43 -0800 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2017-11-21 16:08:43 -0800 |
commit | 9457b3e5d6ed487c48144b1ae0c18ae0ddc20580 (patch) | |
tree | 9d0c805c9031d0c402f7f803035613f31f6489a6 /storage/entry.go | |
parent | 549a4277b0c000d7cf0b2867c895599d283d70a1 (diff) |
Add missing attachments while refreshing a feed
Diffstat (limited to 'storage/entry.go')
-rw-r--r-- | storage/entry.go | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/storage/entry.go b/storage/entry.go index fe8c6f2..7bc1f86 100644 --- a/storage/entry.go +++ b/storage/entry.go @@ -42,7 +42,7 @@ func (s *Storage) CreateEntry(entry *model.Entry) error { ).Scan(&entry.ID) if err != nil { - return fmt.Errorf("Unable to create entry: %v", err) + return fmt.Errorf("unable to create entry: %v", err) } entry.Status = "unread" @@ -64,8 +64,9 @@ func (s *Storage) UpdateEntry(entry *model.Entry) error { UPDATE entries SET title=$1, url=$2, published_at=$3, content=$4, author=$5 WHERE user_id=$6 AND feed_id=$7 AND hash=$8 + RETURNING id ` - _, err := s.db.Exec( + err := s.db.QueryRow( query, entry.Title, entry.URL, @@ -75,9 +76,18 @@ func (s *Storage) UpdateEntry(entry *model.Entry) error { entry.UserID, entry.FeedID, entry.Hash, - ) + ).Scan(&entry.ID) + + if err != nil { + return err + } + + for _, enclosure := range entry.Enclosures { + enclosure.UserID = entry.UserID + enclosure.EntryID = entry.ID + } - return err + return s.UpdateEnclosures(entry.Enclosures) } // EntryExists checks if an entry already exists based on its hash when refreshing a feed. |