class Admin::Legacy::Service::ReportsController < Admin::Legacy::Service::Controller
  def family_totals
    Reporting::Service::FamilyTotalJob.perform_async(
      current_school.id,
      current_user.id,
      dates: params[:dates]
    )
  end

  def student_totals
    Reporting::Service::StudentTotalJob.perform_async(
      current_school.id,
      current_user.id,
      grades: params[:grades],
      classrooms: params[:classrooms],
      dates: params[:dates]
    )
  end

  def log_export
    Reporting::Service::LogExportJob.perform_async(
      current_school.id,
      current_user.id,
      type: params[:type],
      dates: params[:dates]
    )
  end

  def student_records
    Reporting::Service::StudentRecordsJob.perform_async(
      current_school.id,
      current_user.id,
      student_ids: params[:student_ids],
      grades: params[:grades],
      classrooms: params[:classrooms],
      dates: params[:dates]
    )
  end

  def family_records
    Reporting::Service::FamilyRecordsJob.perform_async(
      current_school.id,
      current_user.id,
      family_ids: params[:family_ids],
      dates: params[:dates]
    )
  end

  def opportunity_detail
    Reporting::Service::OpportunityDetailJob.perform_async(
      current_school.id,
      current_user.id,
      dates: params[:dates],
      type: params[:type],
      opportunity_id: params[:opportunity]
    )
  end

  def opportunity_summary
    Reporting::Service::OpportunitySummaryJob.perform_async(
      current_school.id,
      current_user.id,
      dates: params[:dates]
    )
  end
end
