diff options
author | 2024-03-24 07:31:54 +0100 | |
---|---|---|
committer | 2024-03-24 14:50:18 -0700 | |
commit | b54fe66809d820233da00b582b645e4b513f6dda (patch) | |
tree | ed9db64d95fa6d6fb861802dc5ddc153755bfef8 /internal/storage/entry.go | |
parent | 93c9d43497fed161c428933602f8112fce43733b (diff) | |
download | v2-b54fe66809d820233da00b582b645e4b513f6dda.tar.gz v2-b54fe66809d820233da00b582b645e4b513f6dda.tar.zst v2-b54fe66809d820233da00b582b645e4b513f6dda.zip |
fix: do not store empty tags
Diffstat (limited to '')
-rw-r--r-- | internal/storage/entry.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/internal/storage/entry.go b/internal/storage/entry.go index c9037094..1a7cc6d7 100644 --- a/internal/storage/entry.go +++ b/internal/storage/entry.go @@ -9,6 +9,7 @@ import ( "fmt" "log/slog" "slices" + "strings" "time" "miniflux.app/v2/internal/crypto" @@ -139,7 +140,7 @@ func (s *Storage) createEntry(tx *sql.Tx, entry *model.Entry) error { entry.UserID, entry.FeedID, entry.ReadingTime, - pq.Array(removeDuplicates(entry.Tags)), + pq.Array(removeEmpty(removeDuplicates(entry.Tags))), ).Scan( &entry.ID, &entry.Status, @@ -195,7 +196,7 @@ func (s *Storage) updateEntry(tx *sql.Tx, entry *model.Entry) error { entry.UserID, entry.FeedID, entry.Hash, - pq.Array(removeDuplicates(entry.Tags)), + pq.Array(removeEmpty(removeDuplicates(entry.Tags))), ).Scan(&entry.ID) if err != nil { @@ -620,3 +621,13 @@ func removeDuplicates(l []string) []string { slices.Sort(l) return slices.Compact(l) } + +func removeEmpty(l []string) []string { + var finalSlice []string + for _, item := range l { + if strings.TrimSpace(item) != "" { + finalSlice = append(finalSlice, item) + } + } + return finalSlice +} |