# frozen_string_literal: true

module Jobs
  class GenerateTopicThumbnails < ::Jobs::Base
    sidekiq_options queue: "ultra_low"

    def execute(args)
      topic_id = args[:topic_id]
      extra_sizes = args[:extra_sizes]

      raise Discourse::InvalidParameters.new(:topic_id) if topic_id.blank?

      topic = Topic.find_by(id: topic_id)
      topic&.generate_thumbnails!(extra_sizes: extra_sizes)
    end
  end
end