{"record":{"id":"d9f06ad54c17393a","repo":"diegosouzapw/OmniRoute","slug":"data-as-error-string-error-errormessage","errorCode":null,"errorMessage":"(data as { error?: string }).error || errorMessage","messagePattern":"\\(data as (.+?)\\)\\.error \\|\\| errorMessage","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"src/app/(dashboard)/dashboard/settings/components/SystemStorageTab.tsx","lineNumber":508,"sourceCode":"    const a = document.createElement(\"a\");\n    a.href = url;\n    a.download = filename;\n    document.body.appendChild(a);\n    a.click();\n    document.body.removeChild(a);\n    URL.revokeObjectURL(url);\n  };\n\n  /** Fetches a URL, reads the response as a Blob and triggers a download. */\n  const fetchAndDownload = async (\n    apiUrl: string,\n    fallbackFilename: string,\n    errorMessage: string\n  ) => {\n    const res = await fetch(apiUrl);\n    if (!res.ok) {\n      const data = await res.json().catch(() => ({}));\n      throw new Error((data as { error?: string }).error || errorMessage);\n    }\n    const blob = await res.blob();\n    const disposition = res.headers.get(\"Content-Disposition\") || \"\";\n    const filenameMatch = disposition.match(/filename=\"?([^\"]+)\"?/);\n    triggerDownload(blob, filenameMatch?.[1] || fallbackFilename);\n  };\n\n  const handleExportJson = async () => {\n    setExportLoading(true);\n    try {\n      await fetchAndDownload(\n        \"/api/settings/export-json\",\n        `omniroute-legacy-backup-${new Date().toISOString().replace(/[:.]/g, \"-\")}.json`,\n        t(\"jsonExportFailed\")\n      );\n    } catch (err) {\n      console.error(\"Export JSON failed:\", err);\n      setImportStatus({","sourceCodeStart":490,"sourceCodeEnd":526,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/app/(dashboard)/dashboard/settings/components/SystemStorageTab.tsx#L490-L526","documentation":"Error \"(data as { error?: string }).error || errorMessage\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/app/(dashboard)/dashboard/settings/components/SystemStorageTab.tsx:508 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}