['nullable', 'integer', 'in:25,50,100,999999'], 'search' => ['nullable', 'string', 'max:255'], 'highlight' => ['nullable', 'integer'], 'gender' => ['nullable', 'string', Rule::enum(Gender::class)], 'department_id' => ['nullable', 'integer'], 'status' => ['nullable', 'string'], 'enrollment_year' => ['nullable', 'integer'], 'semester_number' => ['nullable', 'integer'], 'semester' => ['nullable', 'string', Rule::enum(Semester::class)], 'is_active' => ['nullable', Rule::in(['true', 'false'])], 'academic_term_id' => ['nullable', 'integer'], 'method' => ['nullable', 'string', Rule::enum(ClassMethod::class)], 'course_class_id' => ['nullable', 'integer'], 'lecturer_id' => ['nullable', 'integer'], 'type' => ['nullable', 'string'], 'payment_method' => ['nullable', 'string', Rule::enum(PaymentMethod::class)], 'file' => ['nullable', 'string'], 'level' => ['nullable', 'string'], ]; } public function validatedWithDefaults(): array { $validated = $this->validated(); return [ 'perPage' => $validated['per_page'] ?? 25, 'search' => $validated['search'] ?? '', ]; } }