123456789101112131415161718192021222324252627282930 |
- # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
- class Service::Avatar::ImageValidate < Service::Base
- def execute(image_data:)
- begin
- raise if image_data.nil?
- data = image_data.is_a?(String) ? ImageHelper.data_url_attributes(image_data) : image_data
- rescue
- return error(message: __('The image is invalid.'))
- end
- if !allowed_mime_type?(mime_type: data[:type] || data[:mime_type])
- return error(message: __('The MIME type of the image is invalid.'))
- end
- data
- end
- def allowed_mime_type?(mime_type:)
- !Rails.application.config.active_storage.web_image_content_types.exclude?(mime_type)
- end
- def error(message:)
- {
- message: message,
- error: true
- }
- end
- end
|