class Multiwoven::Integrations::Destination::MicrosoftExcel::Client

def write(sync_config, records, _action = "destination_insert")

def write(sync_config, records, _action = "destination_insert")
  connection_config = sync_config.destination.connection_specification.with_indifferent_access
  token = connection_config[:token]
  file_name = sync_config.stream.name.split(", ").first
  sheet_name = sync_config.stream.name.split(", ").last
  drive_id = create_connection(connection_config)
  excel_files = get_file(token, drive_id)
  worksheet = excel_files.find { |file| file[:name] == file_name }
  item_id = worksheet[:id]
  table = get_table(token, drive_id, item_id, sheet_name)
  write_url = format(MS_EXCEL_TABLE_ROW_WRITE_API, drive_id: drive_id, item_id: item_id, sheet_name: sheet_name,
                                                   table_name: table["name"])
  payload = { values: records.map(&:values) }
  process_write_request(write_url, payload, token, sync_config)
end