routeIs('student.*')) { return (bool) $this->user()->student; } return $this->user()->can($this->isMethod('post') ? 'create-letter-requests' : 'update-letter-requests'); } public function rules(): array { if ($this->routeIs('student.*')) { return [ 'letter_type' => ['required', 'string', 'max:100'], 'purpose' => ['nullable', 'string'], ]; } return [ 'student_id' => ['required', 'integer', Rule::exists('students', 'id')], 'letter_type' => ['required', 'string', 'max:100'], 'purpose' => ['nullable', 'string'], 'status' => ['nullable', Rule::enum(LetterStatus::class)], 'result' => ['nullable', 'file', 'max:10240', 'mimes:pdf,jpg,jpeg,png,doc,docx'], ]; } }