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)) }