package useCases import ( "RenewCMS/internal/domain/article" "RenewCMS/internal/domain/image" ) type DeleteArticleUseCase struct { articleRepository article.Repository imageRepository image.Repository } func NewDeleteArticleUseCase(articleRepository article.Repository, imageRepository image.Repository) *DeleteArticleUseCase { return &DeleteArticleUseCase{articleRepository, imageRepository} } func (g *DeleteArticleUseCase) DeleteArticle(id uint32) error { a, err := g.articleRepository.Get(id) if err != nil { return err } for _, img := range a.Images { if err := g.imageRepository.Delete(img.ID); err != nil { return err } } return g.articleRepository.Delete(id) }