class Maintenance::Students::AdditionalFields::CleanupJob
  include Sidekiq::Worker

  def perform(area)
    case area
    when :groups
      StudentAdditionalGroup.left_joins(:school).where(Schools: { SchoolID: nil }).delete_all
    when :fields
      StudentAdditionalField.left_joins(:school).where(Schools: { SchoolID: nil }).delete_all
    when :values
      StudentAdditionalValue.left_joins(:school).where(Schools: { SchoolID: nil }).delete_all
      StudentAdditionalValue.left_joins(:student).where(Students: { StudentID: nil }).delete_all
    end
  end
end
