gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] 04/04: handle new measure error code


From: gnunet
Subject: [taler-wallet-core] 04/04: handle new measure error code
Date: Sun, 05 Jan 2025 22:15:51 +0100

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a commit to branch master
in repository wallet-core.

commit 351096408318dd0aae597062080aa811e93bdc9a
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Sun Jan 5 18:15:33 2025 -0300

    handle new measure error code
---
 .../aml-backoffice-ui/src/pages/CaseDetails.tsx    | 42 ++++++++++++++++++++--
 packages/aml-backoffice-ui/src/pages/Measures.tsx  | 24 +++++++++++++
 2 files changed, 64 insertions(+), 2 deletions(-)

diff --git a/packages/aml-backoffice-ui/src/pages/CaseDetails.tsx 
b/packages/aml-backoffice-ui/src/pages/CaseDetails.tsx
index 8a2dca1bf..d9b007d1e 100644
--- a/packages/aml-backoffice-ui/src/pages/CaseDetails.tsx
+++ b/packages/aml-backoffice-ui/src/pages/CaseDetails.tsx
@@ -68,6 +68,7 @@ import { useOfficer } from "../hooks/officer.js";
 import { getShapeFromFields, useFormState } from "../hooks/form.js";
 import { privatePages } from "../Routing.js";
 import { CurrentMeasureTable, MeasureInfo } from "./MeasuresTable.js";
+import { Officer } from "./Officer.js";
 
 export type AmlEvent =
   | AmlFormEvent
@@ -758,6 +759,25 @@ function ShowMesaureInfo({
   if (measures instanceof TalerError) {
     return <ErrorLoadingWithDebug error={measures} />;
   }
+  if (measures.type === "fail") {
+    switch (measures.case) {
+      // case HttpStatusCode.Unauthorized:
+      case HttpStatusCode.Forbidden:
+        return (
+          <Fragment>
+            <Attention type="danger" title={i18n.str`Operation denied`}>
+              <i18n.Translate>
+                This account signature is wrong, contact administrator or 
create
+                a new one.
+              </i18n.Translate>
+            </Attention>
+            <Officer />
+          </Fragment>
+        );
+      default:
+        assertUnreachable(measures.case);
+    }
+  }
   const summary: TalerExchangeApi.AvailableMeasureSummary = measures.body;
 
   const map: { [d: string]: MeasureInfo } = {};
@@ -1530,14 +1550,32 @@ function ShowMeasuresToSelect({
   onSelect?: (m: MeasureInfo) => void;
 }): VNode {
   const measures = useServerMeasures();
-
+  const { i18n } = useTranslationContext();
   if (!measures) {
     return <Loading />;
   }
   if (measures instanceof TalerError) {
     return <ErrorLoadingWithDebug error={measures} />;
   }
-
+  if (measures.type === "fail") {
+    switch (measures.case) {
+      // case HttpStatusCode.Unauthorized:
+      case HttpStatusCode.Forbidden:
+        return (
+          <Fragment>
+            <Attention type="danger" title={i18n.str`Operation denied`}>
+              <i18n.Translate>
+                This account signature is wrong, contact administrator or 
create
+                a new one.
+              </i18n.Translate>
+            </Attention>
+            <Officer />
+          </Fragment>
+        );
+      default:
+        assertUnreachable(measures.case);
+    }
+  }
   const list = Object.entries(measures.body.roots).map(
     ([key, value]): MeasureInfo => {
       if (value.check_name !== "SKIP") {
diff --git a/packages/aml-backoffice-ui/src/pages/Measures.tsx 
b/packages/aml-backoffice-ui/src/pages/Measures.tsx
index 911fae82e..28236fe0c 100644
--- a/packages/aml-backoffice-ui/src/pages/Measures.tsx
+++ b/packages/aml-backoffice-ui/src/pages/Measures.tsx
@@ -15,10 +15,13 @@
  */
 import {
   AmlProgramRequirement,
+  assertUnreachable,
+  HttpStatusCode,
   KycCheckInformation,
   TalerError,
 } from "@gnu-taler/taler-util";
 import {
+  Attention,
   Loading,
   useExchangeApiContext,
   useTranslationContext,
@@ -27,6 +30,7 @@ import { Fragment, h, VNode } from "preact";
 import { ErrorLoadingWithDebug } from "../components/ErrorLoadingWithDebug.js";
 import { useServerMeasures } from "../hooks/account.js";
 import { CurrentMeasureTable, MeasureInfo } from "./MeasuresTable.js";
+import { Officer } from "./Officer.js";
 
 export function Measures({}: {}) {
   const { i18n } = useTranslationContext();
@@ -43,6 +47,26 @@ export function Measures({}: {}) {
     return <ErrorLoadingWithDebug error={measures} />;
   }
 
+  if (measures.type === "fail") {
+    switch (measures.case) {
+      // case HttpStatusCode.Unauthorized:
+      case HttpStatusCode.Forbidden:
+        return (
+          <Fragment>
+            <Attention type="danger" title={i18n.str`Operation denied`}>
+              <i18n.Translate>
+                This account signature is wrong, contact administrator or 
create
+                a new one.
+              </i18n.Translate>
+            </Attention>
+            <Officer />
+          </Fragment>
+        );
+      default:
+        assertUnreachable(measures.case);
+    }
+  }
+
   const list = Object.entries(measures.body.roots).map(
     ([key, value]): MeasureInfo => {
       if (value.check_name !== "SKIP") {

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]