class RegenerateAggregateWorker
  include Sidekiq::Worker
  sidekiq_options :queue => :aggregate_data, :retry => false, :backtrace => true

  def perform(ln_id)
    puts "Aggregate data for Network[#{ln_id}]:"
    ln = LocationNetwork.find(ln_id)
    #TODO: Find out the network specific first HB created_at
    sd = ApAggregateData.where(ln: ln_id).asc("d").first.try(:d) || Date.parse("2015-03-01")#ln.created_at.to_date
    
    ApAggregateData.where(d: {"$lt" => Date.tomorrow}, ln: ln_id.to_i).delete
    ClientAggregateData.where(d: {"$lt" => Date.tomorrow}, ln: ln_id.to_i).delete
    SsidAggregateData.where(d: {"$lt" => Date.tomorrow}, ln: ln_id.to_i).delete
    ln.regenerate_agregate_data sd
  end
end
