class ScanningData
  include Mongoid::Document
  
  field :client_data, type: Hash
  field :visitors_data, type: Array
  field :client, type: String
  # after_create :save_and_compare

  def self.save_data(data)
    return "" if data.blank?
    # self.create(self.check_data_from_which_client(data))
    VisitorCreateWorker.perform_async(data)
  end

  def save_and_compare
    VisitorCreateWorker.perform_async(self.id)
  end

  def self.check_data_from_which_client(data)
    client_data={}; visitors_data=[]; client=""
    if data.is_a? Hash
      case 
        when data.keys.include?('probing')
         visitors_data =  data["probing"]
         data.delete(data["probing"])
         client_data =  data
         client =  'meraki_1.0'
        when data.keys.include?('data')
          visitors_data =  data["data"]["observations"]
          data["data"].delete("observations")
          client_data =  data
          client = 'meraki_2.0'
      end
    elsif data.is_a? Array
      case 
        when data[0].keys.include?('PROTYPE')
          visitors_data =  data
          client = 'wavespot'
      end
    end
    return {:client_data=>client_data,:visitors_data=>visitors_data, :client=>client}
  end
end
