feat: public API, SEO and existing surfaces

This commit is contained in:
Florian Sylvain committed 2026-11-03 03:58:10 +01:00
1 parent 45fbbc33b1
commit c390fcfe8d
103 files changed
+4476 -231

No files matched your search

+15
View File
@@ -129,6 +129,9 @@ func (m *mockArticleRepo) FindPage(filters article.Filters) (article.PageResult,
if filters.Lang != nil && a.Lang != *filters.Lang {
continue
}
if filters.Langs != nil && !slices.Contains(*filters.Langs, a.Lang) {
continue
}
if filters.AuthorID != nil && !slices.Contains(m.credits[a.ID], *filters.AuthorID) {
continue
}
@@ -460,6 +463,18 @@ func (m *mockArticleRepo) storyHasLanguage(storyID uint32, lang string) bool {
return false
}
func (m *mockArticleRepo) GetByLangSlug(siteID uint32, lang string, slug string) (article.Article, error) {
if err := m.fail.trigger("GetByLangSlug"); err != nil {
return article.Article{}, err
}
for _, id := range m.sortedIds() {
if stored := m.articles[id]; stored.SiteID == siteID && stored.Lang == lang && stored.Slug == slug {
return m.withAuthors(stored), nil
}
}
return article.Article{}, article.ErrArticleNotFound
}
func (m *mockArticleRepo) ListByStory(storyID uint32) ([]article.Article, error) {
if err := m.fail.trigger("ListByStory"); err != nil {
return nil, err