class Multiwoven::Integrations::Destination::MicrosoftDynamics::Client
def process_records(records, stream)
def process_records(records, stream) write_success = 0 write_failure = 0 properties = stream.json_schema[:properties] log_message_array = [] records.each do |record_object| record = extract_data(record_object, properties) response = send_data_to_dynamics(record) response_code = response.code.to_i if response_code >= 200 && response_code < 300 write_success += 1 log_message_array << log_request_response("info", record, response["location"]) else write_failure += 1 log_message_array << log_request_response("error", record, response.body) end rescue StandardError => e # TODO: add sync_id and sync run id to the logs handle_exception(e, { context: "MICROSOFT:DYNAMICS:WRITE:EXCEPTION", type: "error", sync_id: @sync_config.sync_id, sync_run_id: @sync_config.sync_run_id }) write_failure += 1 log_message_array << log_request_response("error", record, e.message) end tracking_message(write_success, write_failure, log_message_array) end