feat: public API, SEO and existing surfaces
This commit is contained in:
1 parent
45fbbc33b1
commit
c390fcfe8d
103 files changed
+4476
-231
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user