diff options
Diffstat (limited to 'packages/aml-backoffice-ui/src/utils/errors.tsx')
-rw-r--r-- | packages/aml-backoffice-ui/src/utils/errors.tsx | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/packages/aml-backoffice-ui/src/utils/errors.tsx b/packages/aml-backoffice-ui/src/utils/errors.tsx deleted file mode 100644 index b67d61a5f..000000000 --- a/packages/aml-backoffice-ui/src/utils/errors.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import { - ErrorType, - HttpResponse, - HttpResponsePaginated, - notifyError, - useTranslationContext, -} from "@gnu-taler/web-util/browser"; -import { VNode, h } from "preact"; -import { Loading } from "./Loading.js"; -import { HttpStatusCode, TranslatedString } from "@gnu-taler/taler-util"; -import { AmlExchangeBackend } from "../types.js"; - -export function handleNotOkResult<Error extends AmlExchangeBackend.AmlError>( - i18n: ReturnType<typeof useTranslationContext>["i18n"], -): <T>( - result: HttpResponsePaginated<T, Error> | HttpResponse<T, Error>, -) => VNode { - return function handleNotOkResult2<T>( - result: HttpResponsePaginated<T, Error> | HttpResponse<T, Error>, - ): VNode { - if (result.loading) return <Loading />; - if (!result.ok) { - switch (result.type) { - case ErrorType.TIMEOUT: { - notifyError(i18n.str`Request timeout, try again later.`, undefined); - break; - } - case ErrorType.CLIENT: { - if (result.status === HttpStatusCode.Unauthorized) { - notifyError(i18n.str`Wrong credentials`, undefined); - return <div> not authorized</div>; - } - const errorData = result.payload; - notifyError( - i18n.str`Could not load due to a client error`, - errorData.hint as TranslatedString, - JSON.stringify(result), - ); - break; - } - case ErrorType.SERVER: { - notifyError( - i18n.str`Server returned with error`, - result.payload.hint as TranslatedString, - JSON.stringify(result.payload), - ); - break; - } - case ErrorType.UNREADABLE: { - notifyError( - i18n.str`Unexpected error.`, - `Response from ${result.info?.url} is unreadable, http status: ${result.status}` as TranslatedString, - JSON.stringify(result), - ); - break; - } - case ErrorType.UNEXPECTED: { - notifyError( - i18n.str`Unexpected error.`, - `Diagnostic from ${result.info?.url} is "${result.message}"` as TranslatedString, - JSON.stringify(result), - ); - break; - } - default: { - assertUnreachable(result); - } - } - - return <div>error</div>; - } - return <div />; - }; -} -export function assertUnreachable(x: never): never { - throw new Error("Didn't expect to get here"); -} |