Files
RenewCMS/internal/infrastructure/useCases/mediaRemover.go
T
2026-10-08 02:33:32 +02:00

25 lines
692 B
Go

package useCases
import "RenewCMS/internal/domain/image"
type mediaRemover struct {
imageRepository image.Repository
storage image.Storage
generated variantCache
}
func newMediaRemover(imageRepository image.Repository, storage image.Storage, variantFiles image.VariantFileRepository) mediaRemover {
return mediaRemover{imageRepository, storage, variantCache{variantFiles, storage}}
}
func (r mediaRemover) remove(img image.Image) error {
storedName := image.StoredName(img.Path)
if err := r.generated.purgeSource(storedName); err != nil {
return err
}
if err := r.storage.Delete(storedName); err != nil {
return err
}
return r.imageRepository.Delete(img.ID)
}