feat: media duplicate purge, part 1 of 3: persisted purge settings and the purge API

This commit is contained in:
fsylvain committed 2026-10-05 18:24:03 +02:00
1 parent 161ddc0f7d
commit e82d0ce254
25 files changed
+2459 -41

No files matched your search

+12 -3
View File
@@ -10,8 +10,9 @@ import (
)
type MergeMediaResult struct {
ArticlesUpdated int
Merged int
ArticlesUpdated int
Merged int
UpdatedArticleIDs []uint32
}
type MergeMediaUseCase struct {
@@ -57,7 +58,15 @@ func (u *MergeMediaUseCase) Merge(keepId uint32, mergeIds []uint32) (MergeMediaR
}
}
return MergeMediaResult{ArticlesUpdated: len(rewrites), Merged: len(copies)}, nil
return MergeMediaResult{ArticlesUpdated: len(rewrites), Merged: len(copies), UpdatedArticleIDs: rewrittenIds(rewrites)}, nil
}
func rewrittenIds(rewrites []bodyRewrite) []uint32 {
ids := make([]uint32, 0, len(rewrites))
for _, plan := range rewrites {
ids = append(ids, plan.articleId)
}
return ids
}
func validateMergeRequest(keepId uint32, mergeIds []uint32) error {