class Maintenance::Nursing::ReleaseMedicalJob
  include Sidekiq::Worker

  def perform(school_id)
    school = School.find(school_id)
    return unless school.school_config.nurse?

    batch = Sidekiq::Batch.new
    batch.jobs do
      Maintenance::Nursing::LogTimeCleanupJob.perform_async(school_id)
    end

    batch = Sidekiq::Batch.new
    batch.jobs do
      Maintenance::Nursing::MedicationDistributionTimeCleanupJob.perform_async(school_id)
    end

    batch = Sidekiq::Batch.new
    batch.jobs do
      Maintenance::Nursing::ScreeningBooleanJob.perform_async(school_id)
    end

    batch = Sidekiq::Batch.new
    batch.jobs do
      Maintenance::Nursing::ScreeningBlankJob.perform_async(school_id)
    end

    batch = Sidekiq::Batch.new
    batch.jobs do
      Maintenance::Nursing::ScreeningDateJob.perform_async(school_id)
    end

    batch = Sidekiq::Batch.new
    batch.jobs do
      Maintenance::Nursing::PermissionsJob.perform_async(school_id)
    end

    school.employee_module.update(nursing: true)
  end
end
