From 02b2ebdb881877c91a16c6e25b6a2a84cc5ebc1c Mon Sep 17 00:00:00 2001 From: Bastien Dumont <bdumont@grandlyon.com> Date: Thu, 30 May 2024 11:07:35 +0200 Subject: [PATCH] fix: missing pce when coming from client connect --- src/index.js | 12 +++++++++++- src/types.ts | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index f50ad7b..0097214 100755 --- a/src/index.js +++ b/src/index.js @@ -80,7 +80,12 @@ async function start(fields, cozyParameters) { ) } - const { pce, email, firstname, lastname, postalCode } = fields + let { pce, email, firstname, lastname, postalCode } = fields + + if (!pce && fields?.oauth_callback_results?.pce) { + pce = fields.oauth_callback_results.pce + log('info', `OAuth callback result found, using pce ${pce}`) + } const transaction = Sentry.startTransaction({ op: 'konnector', @@ -102,6 +107,11 @@ async function start(fields, cozyParameters) { const boUrlGRDF = new URL('/api/grdf', boBaseUrl).href try { + if (!pce) { + log('error', 'No PCE found') + throw errors.VENDOR_DOWN + } + log('info', `using PCE: ${pce}`) const { access_token } = await getAuthToken(grdfId, grdfSecret) const consents = await getConsents(access_token, pce) const noValidConsent = await handleConsents(consents, boUrlGRDF, boToken) diff --git a/src/types.ts b/src/types.ts index e7195d0..e7c8bfd 100644 --- a/src/types.ts +++ b/src/types.ts @@ -44,6 +44,10 @@ export type fields = { lastname: string firstname: string postalCode: string + /** previous PCE from oauth stored in account */ + oauth_callback_results?: { + pce?: string + } } /** Cozy parameters definition */ -- GitLab