summaryrefslogtreecommitdiff
path: root/internal/storage/entry.go
diff options
context:
space:
mode:
authorGravatar Romain de Laage <romain@delaage.fr> 2024-03-24 07:31:54 +0100
committerGravatar Frédéric Guillot <f@miniflux.net> 2024-03-24 14:50:18 -0700
commitb54fe66809d820233da00b582b645e4b513f6dda (patch)
treeed9db64d95fa6d6fb861802dc5ddc153755bfef8 /internal/storage/entry.go
parent93c9d43497fed161c428933602f8112fce43733b (diff)
downloadv2-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.go15
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
+}