| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import { ApiClientError } from "@/lib/frontend/apiClient";
- /**
- * mapExplorerError
- *
- * Centralized error-to-UI mapping for the Explorer.
- *
- * Important:
- * - All returned strings are user-facing => German.
- * - We intentionally do NOT expose raw backend messages to the UI.
- *
- * @param {unknown} err
- * @returns {null | {
- * kind: "unauthenticated"|"forbidden"|"notfound"|"generic",
- * title: string,
- * description: string
- * }}
- */
- export function mapExplorerError(err) {
- if (!err) return null;
- // Standard backend/client errors
- if (err instanceof ApiClientError) {
- if (err.code === "AUTH_UNAUTHENTICATED") {
- return {
- kind: "unauthenticated",
- title: "Sitzung abgelaufen",
- description:
- "Ihre Sitzung ist abgelaufen. Sie werden zum Login weitergeleitet.",
- };
- }
- if (err.code === "AUTH_FORBIDDEN_BRANCH") {
- return {
- kind: "forbidden",
- title: "Kein Zugriff",
- description:
- "Sie haben keine Berechtigung, diese Niederlassung zu öffnen.",
- };
- }
- if (err.code === "FS_NOT_FOUND") {
- return {
- kind: "notfound",
- title: "Nicht gefunden",
- description:
- "Dieser Pfad existiert nicht (mehr). Bitte wählen Sie eine andere Ebene.",
- };
- }
- if (err.code === "CLIENT_NETWORK_ERROR") {
- return {
- kind: "generic",
- title: "Netzwerkfehler",
- description:
- "Bitte prüfen Sie Ihre Verbindung und versuchen Sie es erneut.",
- };
- }
- return {
- kind: "generic",
- title: "Fehler",
- description:
- "Beim Laden ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",
- };
- }
- // Unknown errors
- return {
- kind: "generic",
- title: "Fehler",
- description:
- "Beim Laden ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.",
- };
- }
|