diff options
Diffstat (limited to 'storage/entry.go')
-rw-r--r-- | storage/entry.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/storage/entry.go b/storage/entry.go index d56d5de..fb1fb59 100644 --- a/storage/entry.go +++ b/storage/entry.go @@ -16,6 +16,20 @@ import ( "github.com/lib/pq" ) +// CountUnreadEntries returns the number of unread entries. +func (s *Storage) CountUnreadEntries(userID int64) int { + builder := s.NewEntryQueryBuilder(userID) + builder.WithStatus(model.EntryStatusUnread) + + n, err := builder.CountEntries() + if err != nil { + logger.Error("unable to count unread entries: %v", err) + return 0 + } + + return n +} + // NewEntryQueryBuilder returns a new EntryQueryBuilder func (s *Storage) NewEntryQueryBuilder(userID int64) *EntryQueryBuilder { return NewEntryQueryBuilder(s, userID) |