diff options
author | 2023-09-29 15:31:10 +0200 | |
---|---|---|
committer | 2023-09-29 15:31:10 +0200 | |
commit | 2b6b9cdf832078980ca668126bce3b4fcfff02a9 (patch) | |
tree | 77928699c5e40a20233ad2b795213cdb98a7d92e /internal/processing/admin/report.go | |
parent | [frontend] Add `discoverable` flag to settings panel (#2235) (diff) | |
download | gotosocial-2b6b9cdf832078980ca668126bce3b4fcfff02a9.tar.xz |
[bugfix] Fix paging for empty items (#2236)
* use minID properly for public timeline
* return paged response properly even when 0 items
* use gtserror
* page more consistently (for now)
* test
* aaa
Diffstat (limited to 'internal/processing/admin/report.go')
-rw-r--r-- | internal/processing/admin/report.go | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/internal/processing/admin/report.go b/internal/processing/admin/report.go index 0f47cf839..32f05719b 100644 --- a/internal/processing/admin/report.go +++ b/internal/processing/admin/report.go @@ -19,6 +19,7 @@ package admin import ( "context" + "errors" "fmt" "strconv" "time" @@ -45,17 +46,20 @@ func (p *Processor) ReportsGet( limit int, ) (*apimodel.PageableResponse, gtserror.WithCode) { reports, err := p.state.DB.GetReports(ctx, resolved, accountID, targetAccountID, maxID, sinceID, minID, limit) - if err != nil { - if err == db.ErrNoEntries { - return util.EmptyPageableResponse(), nil - } + if err != nil && !errors.Is(err, db.ErrNoEntries) { return nil, gtserror.NewErrorInternalError(err) } count := len(reports) - items := make([]interface{}, 0, count) - nextMaxIDValue := reports[count-1].ID - prevMinIDValue := reports[0].ID + if count == 0 { + return util.EmptyPageableResponse(), nil + } + + var ( + items = make([]interface{}, 0, count) + nextMaxIDValue = reports[count-1].ID + prevMinIDValue = reports[0].ID + ) for _, r := range reports { item, err := p.converter.ReportToAdminAPIReport(ctx, r, account) @@ -65,7 +69,7 @@ func (p *Processor) ReportsGet( items = append(items, item) } - extraQueryParams := []string{} + extraQueryParams := make([]string, 0, 3) if resolved != nil { extraQueryParams = append(extraQueryParams, "resolved="+strconv.FormatBool(*resolved)) } |