Maintenance::LoadDefaultMboToCountriesTask

Source code
# frozen_string_literal: true

class Maintenance::LoadDefaultMboToCountriesTask < MaintenanceTasks::Task
  def collection
    %w[ES DE US CA MX FI NO SE NL FR SG MY HK]
  end

  def process(country_code)
    mid_back_office = MboProfiles::MidBackOffice::D365
    country = CountryDataFromApiService.new(country_code).find_or_create

    unless country
      Rails.logger.warn("Country with code #{country_code} not found.")
      return
    end

    DefaultMboToCountry.find_or_create_by!(
      country_id: country.id,
      default_mbo: mid_back_office
    )
  rescue ActiveRecord::RecordInvalid => e
    Rails.logger.error("Failed to create DefaultMboToCountry for (#{country_code}): #{e.message}")
  end
end