Files
RenewCMS/internal/infrastructure/useCases/CreateImage.go
T

24 lines
592 B
Go

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