Files
RenewCMS/internal/infrastructure/useCases/RenameMedia.go
T
2026-09-30 18:35:28 +02:00

26 lines
622 B
Go

package useCases
import "RenewCMS/internal/domain/image"
type RenameMediaUseCase struct {
imageRepository image.Repository
}
func NewRenameMediaUseCase(imageRepository image.Repository) *RenameMediaUseCase {
return &RenameMediaUseCase{imageRepository}
}
func (u *RenameMediaUseCase) Rename(id uint32, stem string) (image.Image, error) {
validStem, err := image.ValidateFilenameStem(stem)
if err != nil {
return image.Image{}, err
}
current, err := u.imageRepository.Get(id)
if err != nil {
return image.Image{}, err
}
return u.imageRepository.Rename(id, validStem+image.ExtensionOf(current.Filename))
}