class EdFi::Indiana::DissociativeIdJob
  include Sidekiq::Worker
  include Sidekiq::Status::Worker

  def perform
    ed_fi_ids.each do |ed_fi_id|
      EdFi::Indiana::Sandbox::CalendarDatesService
        .new(ed_fi_id.school_year_id)
        .delete(ed_fi_id)
    end
  end

  private
    # Make this query dynamic per endpoint
    def ed_fi_ids
      EdFi::Id
        .left_joins(:school_day)
        .where(SchoolDays: { SchoolDaysID: nil })
        .where(endpoint: :calendardates)
    end
end
