diff options
Diffstat (limited to 'internal/feed/item.go')
-rw-r--r-- | internal/feed/item.go | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/internal/feed/item.go b/internal/feed/item.go index 5c67784..b8fb7f7 100644 --- a/internal/feed/item.go +++ b/internal/feed/item.go @@ -1,8 +1,10 @@ package feed import ( + "encoding/base64" "fmt" + "github.com/google/uuid" "github.com/mmcdole/gofeed" "github.com/Necoro/feed2imap-go/pkg/config" @@ -22,7 +24,7 @@ type item struct { updateOnly bool reasons []string images []feedImage - itemId string + itemId uuid.UUID } // Creator returns the name of the creating author. @@ -54,6 +56,11 @@ func (item *item) defaultEmail() string { return item.feed.Global.DefaultEmail } +func (item *item) id() string { + idStr := base64.RawURLEncoding.EncodeToString(item.itemId[:]) + return item.feed.cached.ID() + "#" + idStr +} + func (item *item) messageId() string { - return fmt.Sprintf("<feed#%s#%s@%s>", item.feed.cached.ID(), item.itemId, config.Hostname()) + return fmt.Sprintf("<feed#%s@%s>", item.id(), config.Hostname()) } |