storage = Storage::disk('local'); } public function show($id) { $handler = new DocumentFile(); try { $result = $handler->getAfterIngest($id); // remove HTML file after receiving it's content if ($result['status'] !== 'processing') { $this->storage->delete("contracts/$id/document.html"); } return response()->json($result, 200); } catch (\Exception $exception) { return response()->json([ 'message' => $exception->getMessage(), ], 400); } } public function store() { request()->validate([ 'file' => 'required', // file. 'searchers' => 'required|array', 'searchers.*.key' => 'required', 'searchers.*.type' => 'required|in:replace,displace', 'searchers.*.value' => 'nullable', 'searchOnly' => 'nullable|boolean' ]); $file = request()->input('file'); $searchOnly = request()->input('searchOnly') ?? false; $changes = (new SearchAndDisplaceXML($file, request()->input('searchers'), $searchOnly))->execute(); try { $processedFile = "contracts/$file/document_sdapplied.html"; if($this->storage->exists($processedFile)) { $processedFileContent = $this->storage->get($processedFile); $this->storage->delete($processedFile); return response()->json([ 'content' => $processedFileContent, 'indexes' => [] ], 200); } } catch (\Exception $exception) { return response()->json([ 'message' => $exception->getMessage(), 'trace' => $exception->getTrace(), ], 400); } } }