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:
parent
924293ee5c
commit
b1cbaae71c
1 changed files with 8 additions and 16 deletions
|
@ -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.
|
// CountUserFeedsWithErrors returns the number of feeds with parsing errors that belong to the given user.
|
||||||
func (s *Storage) CountUserFeedsWithErrors(userID int64) int {
|
func (s *Storage) CountUserFeedsWithErrors(userID int64) int {
|
||||||
pollingParsingErrorLimit := config.Opts.PollingParsingErrorLimit()
|
pollingParsingErrorLimit := min(config.Opts.PollingParsingErrorLimit(), 1)
|
||||||
if pollingParsingErrorLimit <= 0 {
|
|
||||||
pollingParsingErrorLimit = 1
|
|
||||||
}
|
|
||||||
query := `SELECT count(*) FROM feeds WHERE user_id=$1 AND parsing_error_count >= $2`
|
query := `SELECT count(*) FROM feeds WHERE user_id=$1 AND parsing_error_count >= $2`
|
||||||
var result int
|
var result int
|
||||||
err := s.db.QueryRow(query, userID, pollingParsingErrorLimit).Scan(&result)
|
if s.db.QueryRow(query, userID, pollingParsingErrorLimit).Scan(&result) != nil {
|
||||||
if err != nil {
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,14 +123,10 @@ func (s *Storage) CountUserFeedsWithErrors(userID int64) int {
|
||||||
|
|
||||||
// CountAllFeedsWithErrors returns the number of feeds with parsing errors.
|
// CountAllFeedsWithErrors returns the number of feeds with parsing errors.
|
||||||
func (s *Storage) CountAllFeedsWithErrors() int {
|
func (s *Storage) CountAllFeedsWithErrors() int {
|
||||||
pollingParsingErrorLimit := config.Opts.PollingParsingErrorLimit()
|
pollingParsingErrorLimit := min(config.Opts.PollingParsingErrorLimit(), 1)
|
||||||
if pollingParsingErrorLimit <= 0 {
|
|
||||||
pollingParsingErrorLimit = 1
|
|
||||||
}
|
|
||||||
query := `SELECT count(*) FROM feeds WHERE parsing_error_count >= $1`
|
query := `SELECT count(*) FROM feeds WHERE parsing_error_count >= $1`
|
||||||
var result int
|
var result int
|
||||||
err := s.db.QueryRow(query, pollingParsingErrorLimit).Scan(&result)
|
if s.db.QueryRow(query, pollingParsingErrorLimit).Scan(&result) != nil {
|
||||||
if err != nil {
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,11 +142,11 @@ func (s *Storage) Feeds(userID int64) (model.Feeds, error) {
|
||||||
|
|
||||||
func getFeedsSorted(builder *FeedQueryBuilder) (model.Feeds, error) {
|
func getFeedsSorted(builder *FeedQueryBuilder) (model.Feeds, error) {
|
||||||
result, err := builder.GetFeeds()
|
result, err := builder.GetFeeds()
|
||||||
if err == nil {
|
if err != nil {
|
||||||
sort.Sort(byStateAndName{result})
|
return nil, err
|
||||||
return result, nil
|
|
||||||
}
|
}
|
||||||
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.
|
// FeedsWithCounters returns all feeds of the given user with counters of read and unread entries.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue