taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 08482e78ff519faa113f0fb15adfddbfa2a48840
parent d02fe85408092056a42aaea327e97f62e1000f60
Author: Sebastian <sebasjm@gmail.com>
Date:   Thu,  8 May 2025 17:49:59 -0300

add log label

Diffstat:
Mpackages/aml-backoffice-ui/src/hooks/decision-request.ts | 14+++++++-------
Mpackages/aml-backoffice-ui/src/pages/NewMeasure.tsx | 6+++---
Mpackages/aml-backoffice-ui/src/pages/decision/Events.tsx | 2+-
Mpackages/aml-backoffice-ui/src/pages/decision/Information.tsx | 4++--
Mpackages/aml-backoffice-ui/src/pages/decision/Justification.tsx | 2+-
Mpackages/aml-backoffice-ui/src/pages/decision/Measures.tsx | 2+-
Mpackages/aml-backoffice-ui/src/pages/decision/Properties.tsx | 2+-
Mpackages/aml-backoffice-ui/src/pages/decision/Rules.tsx | 11+++--------
Mpackages/aml-backoffice-ui/src/pages/decision/Summary.tsx | 2+-
9 files changed, 20 insertions(+), 25 deletions(-)

diff --git a/packages/aml-backoffice-ui/src/hooks/decision-request.ts b/packages/aml-backoffice-ui/src/hooks/decision-request.ts @@ -74,7 +74,7 @@ export interface DecisionRequest { /** * Relevate state of the account */ - properties: Record<string, boolean> | undefined; + properties: Record<string, boolean | string> | undefined; /** * If given all the information, this account need to be investigated */ @@ -126,7 +126,7 @@ export const codecForDecisionRequest = (): Codec<DecisionRequest> => buildCodecForObject<DecisionRequest>() .property("rules", codecOptional(codecForList(codecForKycRules()))) .property("deadline", codecOptional(codecForAbsoluteTime)) - .property("properties", codecOptional(codecForMap(codecForBoolean()))) + .property("properties", codecOptional(codecForMap(codecForAny()))) .property("attributes", codecOptional(codecForAccountAttributes())) .property("custom_properties", codecForAny()) .property("justification", codecOptional(codecForString())) @@ -168,7 +168,7 @@ const DECISION_REQUEST_KEY = buildStorageKey( */ export function useCurrentDecisionRequest(): [ Readonly<DecisionRequest>, - (s: Partial<DecisionRequest>) => void, + (l:string, s: Partial<DecisionRequest>) => void, (s?: Partial<DecisionRequest>) => void, () => void, ] { @@ -179,9 +179,9 @@ export function useCurrentDecisionRequest(): [ DECISION_REQUEST_EMPTY, ); - function updateValue(newValue: Partial<DecisionRequest>) { + function updateValue(logLabel: string, newValue: Partial<DecisionRequest>) { const mergedValue = { ...value, ...newValue }; - console.log("UPDATING DECISON REQUEST", {old: value, mergedValue}) + console.log("UPDATING DECISON REQUEST", {logLabel, old: value, mergedValue}) update(mergedValue); } @@ -190,11 +190,11 @@ export function useCurrentDecisionRequest(): [ const newDef = {...DECISION_REQUEST_EMPTY, ...v} setDefault(newDef); console.log("STARTING NEW DECISION REQUEST", newDef) - updateValue(newDef); + updateValue("starting",newDef); } function reset() { console.log("RESETTING TO DEFAULT") - updateValue(currentDef); + updateValue("reseting",currentDef); } return [value, updateValue, start, reset]; diff --git a/packages/aml-backoffice-ui/src/pages/NewMeasure.tsx b/packages/aml-backoffice-ui/src/pages/NewMeasure.tsx @@ -165,7 +165,7 @@ export function MeasureForm({ {} as Record<string, string>, ), }; - updateRequest({ + updateRequest("add new measure",{ custom_measures: currentMeasures, }); onCancel(); @@ -193,7 +193,7 @@ export function MeasureForm({ {} as Record<string, string>, ), }; - updateRequest({ + updateRequest("update measure",{ custom_measures: CURRENT_MEASURES, }); onCancel(); @@ -206,7 +206,7 @@ export function MeasureForm({ onClick={() => { const currentMeasures = { ...request.custom_measures }; delete currentMeasures[name!]; - updateRequest({ + updateRequest("remove measure",{ custom_measures: currentMeasures, }); onCancel(); diff --git a/packages/aml-backoffice-ui/src/pages/decision/Events.tsx b/packages/aml-backoffice-ui/src/pages/decision/Events.tsx @@ -86,7 +86,7 @@ export function Events({ account }: { account: string }): VNode { }); onComponentUnload(() => { - updateRequest({ + updateRequest("onload event",{ custom_events: !form.status.result.custom ? [] : form.status.result.custom, diff --git a/packages/aml-backoffice-ui/src/pages/decision/Information.tsx b/packages/aml-backoffice-ui/src/pages/decision/Information.tsx @@ -89,7 +89,7 @@ function FillCustomerData({ const errors = form.status.errors; onComponentUnload(() => { - updateRequest({ + updateRequest("unload info",{ attributes: { data, expiration, @@ -168,7 +168,7 @@ function SelectForm({ }, [fid]); onComponentUnload(() => { - updateRequest({ + updateRequest("unload info no form",{ attributes: undefined, }); }); diff --git a/packages/aml-backoffice-ui/src/pages/decision/Justification.tsx b/packages/aml-backoffice-ui/src/pages/decision/Justification.tsx @@ -53,7 +53,7 @@ function JustificationForm({info, isNewAccount}:{info: AmlDecision | undefined, }); onComponentUnload(() => { - updateRequest({ + updateRequest("unload justification",{ keep_investigating: !!form.status.result.investigate, justification: form.status.result.justification ?? "", accountName: form.status.result.accountName ?? "", diff --git a/packages/aml-backoffice-ui/src/pages/decision/Measures.tsx b/packages/aml-backoffice-ui/src/pages/decision/Measures.tsx @@ -91,7 +91,7 @@ function ActiveMeasureForm(): VNode { const form = useForm<FormType>(design, initValue); onComponentUnload(() => { - updateRequest({ + updateRequest("unload measure",{ new_measures: (form.status.result.measures ?? []) as string[], }); }); diff --git a/packages/aml-backoffice-ui/src/pages/decision/Properties.tsx b/packages/aml-backoffice-ui/src/pages/decision/Properties.tsx @@ -106,7 +106,7 @@ function ReloadForm({ merged }: { merged: any }): VNode { }); onComponentUnload(() => { - updateRequest({ + updateRequest("unload properties",{ properties: (form.status.result.defined ?? {}) as Record<string, boolean>, custom_properties: (form.status.result.custom ?? []).reduce( (prev, cur) => { diff --git a/packages/aml-backoffice-ui/src/pages/decision/Rules.tsx b/packages/aml-backoffice-ui/src/pages/decision/Rules.tsx @@ -141,10 +141,7 @@ export function Rules({ (newPaytoParsed.targetType === "taler-reserve" || newPaytoParsed.targetType === "taler-reserve-http"); - // const [request, updateRequestField, updateRequest] = - // useCurrentDecisionRequest(); const measures = useServerMeasures(); - // const [changeRules, setChangeRules] = useState(true); // useState(false); const rootMeasures = !measures || measures instanceof TalerError || measures.type === "fail" ? undefined @@ -277,7 +274,7 @@ function UpdateRulesForm({ ...measureList, ...customMeasures, ]); - const [rules, setRules] = useState<KycRule[]>([]); + const [currentRules, setRules] = useState<KycRule[]>(!request.rules ? limits.rules : request.rules); const expirationForm = useForm<ExpirationFormType>(expirationFormDesign, { expiration: request.deadline ?? @@ -285,15 +282,13 @@ function UpdateRulesForm({ measure: request.onExpire_measure ?? limits.successor_measure, }); - const currentRules = !request.rules ? limits.rules : request.rules; - onComponentUnload(() => { const deadline = expirationForm.status.status === "fail" ? undefined : expirationForm.status.result.expiration; const doesntExpire = !deadline || AbsoluteTime.isNever(deadline); - updateRequest({ + updateRequest("unload rules",{ rules: currentRules, deadline, onExpire_measure: @@ -304,7 +299,7 @@ function UpdateRulesForm({ }); function addNewRule(nr: RuleFormType) { - const result = !rules ? [] : [...rules]; + const result = !currentRules ? [] : [...currentRules]; const clean = (nr.measures ?? []).filter((m) => !!m); const measures = !clean.length ? DEFAULT_MEASURE_IF_NONE : clean; result.push({ diff --git a/packages/aml-backoffice-ui/src/pages/decision/Summary.tsx b/packages/aml-backoffice-ui/src/pages/decision/Summary.tsx @@ -58,7 +58,7 @@ export function Summary({ onMove: (n: WizardSteps | undefined) => void; }): VNode { const { i18n } = useTranslationContext(); - const [decision, updateRequest, cleanUpDecision] = useCurrentDecisionRequest(); + const [decision, , cleanUpDecision] = useCurrentDecisionRequest(); const measures = useServerMeasures(); const [notification, withErrorHandler] = useLocalNotificationHandler(); const officer = useOfficer();