def call(vaccination_record_id:, updates:, **)
MavisCLI.load_rails
vaccination_record =
::VaccinationRecord.find_by(id: vaccination_record_id)
if vaccination_record.nil?
raise "Vaccination record with ID #{vaccination_record_id} not found"
end
parsed = {}
updates.each do |pair|
key, value = pair.split("=", 2)
raise "Invalid update '#{pair}'. Expected key=value." if value.nil?
parsed[key] = value
end
begin
::VaccinationRecordTechnicalFieldsUpdater.call(
vaccination_record: vaccination_record,
updates: parsed
)
rescue StandardError => e
puts "Error: #{e.message}"
return
end
puts "Successfully updated VaccinationRecord ##{vaccination_record.id}"
end