Refac/domain driven #1

Merged
fsylvain merged 40 commits from refac/domain-driven into main 2026-09-25 16:15:15 +02:00
3 changed files with 11 additions and 4 deletions
Showing only changes of commit 76245c47c9 - Show all commits

No files matched your search

+1
View File
@@ -7,6 +7,7 @@ import (
)
var (
ErrInvalidTitle = errors.New("article's title length should be between 3 and 200 caracters")
ErrArticleNotFound = errors.New("article not found")
ErrArticleOffline = errors.New("article is offline")
)
@@ -56,8 +56,9 @@ func (a *ArticleRepository) GetByName(name string) (domain.Article, error) {
func (a *ArticleRepository) Create(article domain.Article) (domain.Article, error) {
creationResult := a.db.Create(&entity.Article{
Title: article.Title,
Body: article.Body,
Title: article.Title,
Body: article.Body,
IsOnline: article.IsOnline,
})
if creationResult.Error != nil {
return domain.Article{}, creationResult.Error
@@ -18,8 +18,13 @@ func NewCreateArticleUseCase(articleRepository article.Repository) *CreateArticl
}
func (g *CreateArticleUseCase) CreateArticle(createArticle CreateArticleCommand) (article.Article, error) {
if len(createArticle.Title) < 3 || len(createArticle.Title) > 200 {
return article.Article{}, article.ErrInvalidTitle
}
return g.articleRepository.Create(article.Article{
Title: createArticle.Title,
Body: createArticle.Body,
Title: createArticle.Title,
Body: createArticle.Body,
IsOnline: false,
})
}