user()?->purchasing_role === PurchasingRole::Procurement; } /** @return array */ public function rules(): array { $supplier = $this->route('supplier'); $uniqueNuit = Rule::unique('suppliers')->where('tenant_id', $this->user()?->tenant_id); if ($supplier instanceof Supplier) { $uniqueNuit->ignore($supplier->id); } return [ 'name' => 'required|string|max:200', 'nuit' => ['required', 'regex:/^\d{9}$/', $uniqueNuit], 'contact' => 'required|string|max:200', 'email' => 'required|email|max:200', 'phone' => 'required|string|max:50', 'address' => 'required|string|max:500', 'category' => 'required|string|max:200', 'beneficiaries' => 'required|string|min:3|max:2000', 'document_references' => 'required|string|min:5|max:3000', 'diligence_notes' => 'required|string|min:10|max:3000', 'blocked' => 'required|boolean', 'next_review' => 'required|date_format:Y-m-d|after_or_equal:today', 'version' => $supplier instanceof Supplier ? 'required|integer|min:1' : 'prohibited', ]; } }