[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.