package useCases import ( "RenewCMS/internal/domain/image" "slices" ) type VariantDefinitionCommand struct { Width *int Height *int Fit string Format string Quality *int } func (c VariantDefinitionCommand) settings(encodable []image.VariantFormat) (image.VariantSettings, error) { settings, err := image.VariantSettings{ Width: c.Width, Height: c.Height, Fit: image.VariantFit(c.Fit), Format: image.VariantFormat(c.Format), Quality: c.Quality, }.Normalized() if err != nil { return image.VariantSettings{}, err } if !slices.Contains(encodable, settings.Format) { return image.VariantSettings{}, image.ErrVariantFormatUnavailable } return settings, nil }