mirror of
https://github.com/Floriansylvain/RenewCMS.git
synced 2026-08-19 19:53:21 +02:00
refac: better error handling & moved IsOnline logic to cleaner place
This commit is contained in:
@@ -10,8 +10,21 @@ func NewGetArticleUseCase(articleRepository article.Repository) *GetArticleUseCa
|
||||
return &GetArticleUseCase{articleRepository}
|
||||
}
|
||||
|
||||
func (g *GetArticleUseCase) GetArticle(id uint32) (article.Article, error) {
|
||||
return g.articleRepository.Get(id)
|
||||
func (u *GetArticleUseCase) GetOnlineArticle(id uint32) (article.Article, error) {
|
||||
art, err := u.articleRepository.Get(id)
|
||||
if err != nil {
|
||||
return article.Article{}, err
|
||||
}
|
||||
|
||||
if !art.IsOnline {
|
||||
return article.Article{}, article.ErrArticleNotFound
|
||||
}
|
||||
|
||||
return art, nil
|
||||
}
|
||||
|
||||
func (u *GetArticleUseCase) GetArticle(id uint32) (article.Article, error) {
|
||||
return u.articleRepository.Get(id)
|
||||
}
|
||||
|
||||
func (g *GetArticleUseCase) GetArticleByName(name string) (article.Article, error) {
|
||||
|
||||
@@ -10,6 +10,13 @@ func NewListArticlesUseCase(articleRepository article.Repository) *ListArticlesU
|
||||
return &ListArticlesUseCase{articleRepository}
|
||||
}
|
||||
|
||||
func (g *ListArticlesUseCase) ListArticles() []article.Article {
|
||||
return g.articleRepository.GetAll()
|
||||
func (u *ListArticlesUseCase) ListOnlineArticles() ([]article.Article, error) {
|
||||
online := true
|
||||
return u.articleRepository.FindByFilters(article.Filters{
|
||||
IsOnline: &online,
|
||||
})
|
||||
}
|
||||
|
||||
func (u *ListArticlesUseCase) ListAllArticles() ([]article.Article, error) {
|
||||
return u.articleRepository.FindByFilters(article.Filters{})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user