package useCases import ( "RenewCMS/internal/domain/image" ) type CreateImageUseCase struct { imageRepository image.Repository } func NewCreateImageUseCase(imageRepository image.Repository) *CreateImageUseCase { return &CreateImageUseCase{imageRepository} } func (g *CreateImageUseCase) CreateImage(input image.ImageInput) (image.Image, error) { if !image.IsAllowedContentType(input.ContentType) { return image.Image{}, image.ErrImageTypeNotAllowed } if input.Size > image.MaxImageSize { return image.Image{}, image.ErrImageTooLarge } return g.imageRepository.Create(input) }