From 190a63f0eb812fdfaba43ded5f2ca013c33addb3 Mon Sep 17 00:00:00 2001 From: Victor Radael Date: Tue, 20 Dec 2022 17:01:00 -0300 Subject: [PATCH] FEAT: Update OAuth Connection --- docsfera.json | 2 +- src/modules/oauth/oauth.controller.ts | 14 ++++++++++---- src/modules/oauth/oauth.service.ts | 2 ++ 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/docsfera.json b/docsfera.json index fef3b5a..c209f44 100644 --- a/docsfera.json +++ b/docsfera.json @@ -3297,7 +3297,7 @@ } }, "info": { - "title": "Maestro - fix/refresh-token", + "title": "Maestro - feat/update-connection", "description": "Documentation for Maestro gateway", "version": "1.0.0", "contact": {} diff --git a/src/modules/oauth/oauth.controller.ts b/src/modules/oauth/oauth.controller.ts index 6ad2da7..518dd24 100644 --- a/src/modules/oauth/oauth.controller.ts +++ b/src/modules/oauth/oauth.controller.ts @@ -148,10 +148,16 @@ export class OauthController { const { customer_id, customer_name, user_id } = connectionInfo; try { - const response = await this.connectionService.createConnection( - connectionInfo, - PackTheMetadata({ customer_id, customer_name, user_id }), - ); + const response = connectionInfo.id + ? await this.connectionService.updateConnection( + connectionInfo.id, + connectionInfo, + PackTheMetadata({ customer_id, customer_name, user_id }), + ) + : await this.connectionService.createConnection( + connectionInfo, + PackTheMetadata({ customer_id, customer_name, user_id }), + ); url.searchParams.set('connection_id', response.connection.id); return { url: url.href }; } catch (error) { diff --git a/src/modules/oauth/oauth.service.ts b/src/modules/oauth/oauth.service.ts index 9da56b5..e9f6b3e 100644 --- a/src/modules/oauth/oauth.service.ts +++ b/src/modules/oauth/oauth.service.ts @@ -23,6 +23,7 @@ export class OauthService { user_id, customer_id, customer_name, + id, } = query; const properties = { plugin, credentials_type: 'oauth' }; @@ -45,6 +46,7 @@ export class OauthService { type, properties, plugin, + id, }; return jwt.sign({ ...newConnection }, process.env.JWT_PRIVATE_KEY); }