refac: better error handling & moved IsOnline logic to cleaner place

This commit is contained in:
Floriansylvain
2025-12-22 00:59:36 +01:00
parent b50efae8a8
commit 5282770caa
6 changed files with 120 additions and 46 deletions
+15 -2
View File
@@ -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) {