class Support::Sites::Schools::Restores::StudentsController < Support::Sites::Controller
  def index
    render_success :ok, json: restores.map { |r| restore_props(r) }
  end

  def update
    Student.restore_backup(params[:id])
    render_success :ok, event: :restored
  end

  private
    def school
      @school ||= School.find_by(id: params[:school_id])
    end

    def restores
      school.restores
        .by_students
        .where.not(properties: '')
        .order(:created_at)
    end

    def restore_props(restore)
      student = Student.new(restore.model_params)
      {
        id: student.id,
        full_name: student.full_name,
        full_name_reverse: student.full_name(:reverse),
        deleted_at: restore.created_at
      }
    end
end
