invoice = $invoice; $this->contact = $contact; } public function run() { if (! $this->contact) { $this->contact = $this->invoice->client->primary_contact()->first() ?: $this->invoice->client->contacts()->first(); } $invitation = $this->invoice->invitations->where('client_contact_id', $this->contact->id)->first(); if (! $invitation) { $invitation = $this->invoice->invitations->first(); } $path = $this->invoice->client->invoice_filepath($invitation); $file_path = $path.$this->invoice->numberFormatter().'.pdf'; // $disk = 'public'; $disk = config('filesystems.default'); $file = Storage::disk($disk)->exists($file_path); if (! $file) { $file_path = (new CreateEntityPdf($invitation))->handle(); } return $file_path; } }