1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-08-26 18:21:01 +00:00

refactor(storage): simplify feed.go by using min(), inline errors, and use idiomatic conditions

- Use `min` instead of doing the comparison by hand.
- Inline error handling where it makes sense
- Invert a condition to make it more idiomatic
This commit is contained in:
Julien Voisin 2025-08-06 04:25:50 +02:00 committed by GitHub
parent 924293ee5c
commit b1cbaae71c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -111,14 +111,10 @@ func (s *Storage) CountAllFeeds() map[string]int64 {
// CountUserFeedsWithErrors returns the number of feeds with parsing errors that belong to the given user.
func (s *Storage) CountUserFeedsWithErrors(userID int64) int {
pollingParsingErrorLimit := config.Opts.PollingParsingErrorLimit()
if pollingParsingErrorLimit <= 0 {
pollingParsingErrorLimit = 1
}
pollingParsingErrorLimit := min(config.Opts.PollingParsingErrorLimit(), 1)
query := `SELECT count(*) FROM feeds WHERE user_id=$1 AND parsing_error_count >= $2`
var result int
err := s.db.QueryRow(query, userID, pollingParsingErrorLimit).Scan(&result)
if err != nil {
if s.db.QueryRow(query, userID, pollingParsingErrorLimit).Scan(&result) != nil {
return 0
}
@ -127,14 +123,10 @@ func (s *Storage) CountUserFeedsWithErrors(userID int64) int {
// CountAllFeedsWithErrors returns the number of feeds with parsing errors.
func (s *Storage) CountAllFeedsWithErrors() int {
pollingParsingErrorLimit := config.Opts.PollingParsingErrorLimit()
if pollingParsingErrorLimit <= 0 {
pollingParsingErrorLimit = 1
}
pollingParsingErrorLimit := min(config.Opts.PollingParsingErrorLimit(), 1)
query := `SELECT count(*) FROM feeds WHERE parsing_error_count >= $1`
var result int
err := s.db.QueryRow(query, pollingParsingErrorLimit).Scan(&result)
if err != nil {
if s.db.QueryRow(query, pollingParsingErrorLimit).Scan(&result) != nil {
return 0
}
@ -150,11 +142,11 @@ func (s *Storage) Feeds(userID int64) (model.Feeds, error) {
func getFeedsSorted(builder *FeedQueryBuilder) (model.Feeds, error) {
result, err := builder.GetFeeds()
if err == nil {
sort.Sort(byStateAndName{result})
return result, nil
if err != nil {
return nil, err
}
return result, err
sort.Sort(byStateAndName{result})
return result, nil
}
// FeedsWithCounters returns all feeds of the given user with counters of read and unread entries.