refac: article reads, story delete, no leaks, stored SEO status, rate limit, cleanup (%site%, article repo split, old lang repos, one default per site rule to domain)

This commit is contained in:
Florian Sylvain committed 2026-11-03 16:01:52 +01:00
1 parent 9d284e65a9
commit 7c15206170
85 files changed
+1788 -593

No files matched your search

@@ -1,6 +1,7 @@
package useCases
import (
"RenewCMS/internal/domain/article"
"RenewCMS/internal/domain/audit"
"RenewCMS/internal/domain/image"
"RenewCMS/internal/domain/site"
@@ -11,10 +12,11 @@ type UpdateSiteUseCase struct {
siteRepository site.Repository
imageRepository image.Repository
recorder audit.Recorder
articleSEO article.SEOIndex
}
func NewUpdateSiteUseCase(siteRepository site.Repository, imageRepository image.Repository, recorder audit.Recorder) *UpdateSiteUseCase {
return &UpdateSiteUseCase{siteRepository, imageRepository, recorder}
func NewUpdateSiteUseCase(siteRepository site.Repository, imageRepository image.Repository, recorder audit.Recorder, articleSEO article.SEOIndex) *UpdateSiteUseCase {
return &UpdateSiteUseCase{siteRepository, imageRepository, recorder, articleSEO}
}
func (u *UpdateSiteUseCase) Update(ctx context.Context, id uint32, patch site.Patch) (site.Site, error) {
@@ -43,6 +45,9 @@ func (u *UpdateSiteUseCase) Update(ctx context.Context, id uint32, patch site.Pa
event.Target = siteTarget(saved)
event.Changes = changes
u.recorder.Record(ctx, event)
if before.DefaultDescription != saved.DefaultDescription {
return saved, u.articleSEO.MarkSiteSEOStale(saved.ID)
}
return saved, nil
}