diff --git a/internal/domain/feed.go b/internal/domain/feed.go index 00b5fdf..1b4f93c 100644 --- a/internal/domain/feed.go +++ b/internal/domain/feed.go @@ -52,6 +52,7 @@ type Feed struct { Indexerr FeedIndexer `json:"-"` LastRun time.Time `json:"last_run"` LastRunData string `json:"last_run_data"` + NextRun time.Time `json:"next_run"` } type FeedSettingsJSON struct { diff --git a/internal/feed/service.go b/internal/feed/service.go index 8329cbf..262ec05 100644 --- a/internal/feed/service.go +++ b/internal/feed/service.go @@ -91,7 +91,21 @@ func (s *service) FindByIndexerIdentifier(ctx context.Context, indexer string) ( } func (s *service) Find(ctx context.Context) ([]domain.Feed, error) { - return s.repo.Find(ctx) + feeds, err := s.repo.Find(ctx) + if err != nil { + return nil, err + } + + for i, feed := range feeds { + t, err := s.scheduler.GetNextRun(feedKey{id: feed.ID}.ToString()) + if err != nil { + continue + } + feed.NextRun = t + feeds[i] = feed + } + + return feeds, nil } func (s *service) GetCacheByID(ctx context.Context, feedId int) ([]domain.FeedCacheItem, error) { diff --git a/web/src/screens/settings/Feed.tsx b/web/src/screens/settings/Feed.tsx index fcc10e7..f7b9258 100644 --- a/web/src/screens/settings/Feed.tsx +++ b/web/src/screens/settings/Feed.tsx @@ -118,7 +118,7 @@ function FeedSettings() { Enabled {sortedFeeds.getSortIndicator("enabled")}