fix: technical debts left by the Sites, Authors and SEO slices, plus backend support for the new Sites and Authors pagination

This commit is contained in:
Florian Sylvain committed 2026-10-19 00:25:31 +02:00
1 parent 9f4ce426a8
commit daf3594316
86 files changed
+4223 -1485

No files matched your search

+23
View File
@@ -92,6 +92,29 @@ func (m *mockSiteRepo) List() ([]site.Site, error) {
return result, nil
}
func (m *mockSiteRepo) Find(query site.ListQuery) (site.Page, error) {
if err := m.fail.trigger("Find"); err != nil {
return site.Page{}, err
}
all, err := m.List()
if err != nil {
return site.Page{}, err
}
needle := foldArticleSearch(strings.TrimSpace(query.Q))
matching := []site.Site{}
for _, s := range all {
if needle == "" || strings.Contains(foldArticleSearch(s.Name+"\n"+s.Key+"\n"+s.BaseURL), needle) {
matching = append(matching, s)
}
}
if query.Size <= 0 {
return site.Page{Items: matching, Total: len(matching)}, nil
}
start := min((max(query.Page, 1)-1)*query.Size, len(matching))
end := min(start+query.Size, len(matching))
return site.Page{Items: matching[start:end], Total: len(matching)}, nil
}
func (m *mockSiteRepo) Get(id uint32) (site.Site, error) {
if err := m.fail.trigger("Get"); err != nil {
return site.Site{}, err