storage = Storage::disk('local'); } public function getAfterIngest($id) { $path = $this->getPath($id); // Ingest success. if ($this->storage->exists("$path/document.html")) { return [ 'status' => 'success', 'content' => $this->getDocumentContent($path, $id), ]; } // Ingest fail. if ($this->storage->exists("$path/document")) { return [ 'status' => 'fail', ]; } return [ 'status' => 'processing', 'message' => 'Document has not been processed yet.', ]; } public function destroy($id) { $path = $this->getPath($id); return $this->storage->deleteDirectory($path); } protected function getPath($id) { return "contracts/$id"; } protected function getDocumentContent($path, $id) { $document = $this->storage->path($path) . '/document.html'; $this->updateImagesPath($document, $id); return file_get_contents($document); } public static function updateImagesPath($document, $id) { $html = new DOMDocument(); $html->loadHTMLFile($document, LIBXML_NOERROR); $url = url('/') . "/contracts-images/$id/"; foreach($html->getElementsByTagName('img') as $image) { $src = $image->getAttribute('src'); $image->setAttribute('src', $url . $src); } $html->saveHTMLFile($document); } }