mirror of
https://github.com/Floriansylvain/RenewCMS.git
synced 2026-08-19 11:43:22 +02:00
33 lines
791 B
Go
33 lines
791 B
Go
package useCases
|
|
|
|
import "RenewCMS/internal/domain/article"
|
|
|
|
type GetArticleUseCase struct {
|
|
articleRepository article.Repository
|
|
}
|
|
|
|
func NewGetArticleUseCase(articleRepository article.Repository) *GetArticleUseCase {
|
|
return &GetArticleUseCase{articleRepository}
|
|
}
|
|
|
|
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) {
|
|
return g.articleRepository.GetByName(name)
|
|
}
|