class Session < Base::Session
  associations_for legacy: true do |a|
    a.belongs_to :school
    a.belongs_to :user
  end

  before_validation do
    self.school_id = user.school_id
    self.family_id = user.family_id
    self.student_id = user.student_id
  end

  before_create do
    self.started = self.updated = Time.current
    self.secure = 1
  end

  def authenticated?
    return false if completed.present?
    return true if school.school_config.idle_logout.minutes.zero?

    updated.to_datetime + school.school_config.idle_logout.minutes > DateTime.now
  end
end
