guard('contact')->user()->loadMissing(['client' => function ($query) { $query->without('gateway_tokens', 'documents', 'contacts.company', 'contacts'); // Exclude 'grandchildren' relation of 'client' }]); return (bool) auth()->guard('contact')->user()->client->getSetting('client_portal_enable_uploads'); } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'file' => ['file', 'mimes:png,ai,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx|max:20000'], ]; } /** * Since saveDocuments() expects an array of uploaded files, * we need to convert it to an array before uploading. * * @return mixed */ public function getFile() { if (gettype($this->file) !== 'array') { return [$this->file]; } return $this->file; } }