From 405a3f1730eab90a074ee2bc8796073296f8c6ad Mon Sep 17 00:00:00 2001 From: Pierre Ecarlat <pecarlat@grandlyon.com> Date: Mon, 25 Nov 2024 08:09:22 +0000 Subject: [PATCH] fix: Handle the refuse status for grdf --- .vscode/settings.json | 1 + src/components/Konnector/KonnectorViewerCard.tsx | 5 ++++- src/enums/fluid.enum.ts | 1 + src/enums/konnectorStatus.enum.ts | 1 + src/services/fluid.service.ts | 3 +++ 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 7f58d87e1..296bf5e46 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -159,6 +159,7 @@ "usageevent", "Usain", "userchallenge", + "WEBAUTH", "weektype" ], "typescript.tsdk": "node_modules/typescript/lib", diff --git a/src/components/Konnector/KonnectorViewerCard.tsx b/src/components/Konnector/KonnectorViewerCard.tsx index 24b0578d9..e90a78532 100644 --- a/src/components/Konnector/KonnectorViewerCard.tsx +++ b/src/components/Konnector/KonnectorViewerCard.tsx @@ -92,6 +92,9 @@ const KonnectorViewerCard = ({ const isWaitingForConsent = fluidType === FluidType.GAS && currentFluidStatus.status === FluidState.CHALLENGE_ASKED + const emailHasBeenIgnored = + fluidType === FluidType.GAS && + currentFluidStatus.status === FluidState.EMAIL_IGNORED const fluidService = useMemo(() => new FluidService(client), [client]) const accountService = useMemo(() => new AccountService(client), [client]) @@ -465,7 +468,7 @@ const KonnectorViewerCard = ({ return ( <div className="konnector-section-root"> {isWaitingForConsent && <GrdfWaitConsent />} - {!isWaitingForConsent && !showOfflineData && ( + {(!isWaitingForConsent || emailHasBeenIgnored) && !showOfflineData && ( <Connection fluidType={fluidType} /> )} {!isWaitingForConsent && showOfflineData && ( diff --git a/src/enums/fluid.enum.ts b/src/enums/fluid.enum.ts index 4ebd4f945..0abed1b95 100644 --- a/src/enums/fluid.enum.ts +++ b/src/enums/fluid.enum.ts @@ -13,4 +13,5 @@ export enum FluidState { ERROR = 'ERROR', LOGIN_FAILED = 'LOGIN_FAILED', CHALLENGE_ASKED = 'CHALLENGE_ASKED', + EMAIL_IGNORED = 'EMAIL_IGNORED', } diff --git a/src/enums/konnectorStatus.enum.ts b/src/enums/konnectorStatus.enum.ts index 4ff5dad28..fff28f6ea 100644 --- a/src/enums/konnectorStatus.enum.ts +++ b/src/enums/konnectorStatus.enum.ts @@ -4,6 +4,7 @@ export enum KonnectorError { USER_ACTION_NEEDED = 'USER_ACTION_NEEDED', TERMS_VERSION_MISMATCH = 'TERMS_VERSION_MISMATCH', CHALLENGE_ASKED = 'CHALLENGE_ASKED', + EMAIL_IGNORED = 'USER_ACTION_NEEDED.WEBAUTH_REQUIRED', UNKNOWN_ERROR = 'UNKNOWN_ERROR', CRITICAL = 'exit status 1', MISSING_SECRET = "Cannot read property 'secret' of null", diff --git a/src/services/fluid.service.ts b/src/services/fluid.service.ts index 4cf603519..9159c258c 100644 --- a/src/services/fluid.service.ts +++ b/src/services/fluid.service.ts @@ -31,6 +31,9 @@ export default class FluidService { if (state?.last_error === 'CHALLENGE_ASKED') { return FluidState.CHALLENGE_ASKED } + if (state?.last_error === 'EMAIL_IGNORED') { + return FluidState.EMAIL_IGNORED + } return FluidState.ERROR default: -- GitLab