'required|regex_match[/^\d{4}-\d{4}$/]|max_length[9]', 'status' => 'required|in_list[draft,active,closing,closed,archived]', 'starts_on' => 'permit_empty|valid_date[Y-m-d]', 'ends_on' => 'permit_empty|valid_date[Y-m-d]', 'registration_starts_on' => 'permit_empty|valid_date[Y-m-d]', 'registration_ends_on' => 'permit_empty|valid_date[Y-m-d]', 'registration_opens_at' => 'permit_empty|valid_date[Y-m-d H:i:s]', 'registration_deadline_at' => 'permit_empty|valid_date[Y-m-d H:i:s]', 'late_registration_blocked' => 'permit_empty|in_list[0,1]', 'administrative_exceptions_permitted' => 'permit_empty|in_list[0,1]', 'adult_student_registration_enabled' => 'permit_empty|in_list[0,1]', 'tuition_due_at_registration' => 'permit_empty|decimal', 'carry_over_balance_behavior' => 'permit_empty|in_list[information_only,payment_plan_required,submission_allowed_confirmation_blocked,submission_blocked_until_payment,admin_approval_required]', 'payment_plan_available' => 'permit_empty|in_list[0,1]', 'registration_launch_approved_at' => 'permit_empty|valid_date[Y-m-d H:i:s]', 'registration_launch_approved_by' => 'permit_empty|integer', 'fall_makeup_exam_on' => 'permit_empty|valid_date[Y-m-d]', 'total_instructional_weeks' => 'permit_empty|integer|greater_than[0]', 'annual_fee_includes_books' => 'permit_empty|in_list[0,1]', ]; public function active(): ?array { $rows = $this->where('status', 'active') ->orderBy('id', 'DESC') ->findAll(2); if (count($rows) !== 1) { return null; } return $rows[0]; } }