24 lines
592 B
Go
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)
|
|
}
|