From f088cdb504faf7d31f450df737634f81289af655 Mon Sep 17 00:00:00 2001 From: lohxt1 Date: Mon, 30 Sep 2024 16:36:19 +0530 Subject: [PATCH] feat: updates --- .../EnvironmentVariables/index.js | 2 +- .../EnvironmentVariables/index.js | 2 +- .../src/store/global-environments.js | 43 +++++++++++++++++-- 3 files changed, 42 insertions(+), 5 deletions(-) diff --git a/packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js b/packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js index e45909c94..c245dbfc2 100644 --- a/packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js +++ b/packages/bruno-app/src/components/Environments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js @@ -59,7 +59,7 @@ const EnvironmentVariables = ({ environment, collection, setIsModified, original const ErrorMessage = ({ name }) => { const meta = formik.getFieldMeta(name); - if (!meta.error) { + if (!meta.error || !meta.touched) { return null; } diff --git a/packages/bruno-app/src/components/GlobalEnvironments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js b/packages/bruno-app/src/components/GlobalEnvironments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js index 93e7d687e..efd2fbed1 100644 --- a/packages/bruno-app/src/components/GlobalEnvironments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js +++ b/packages/bruno-app/src/components/GlobalEnvironments/EnvironmentSettings/EnvironmentList/EnvironmentDetails/EnvironmentVariables/index.js @@ -62,7 +62,7 @@ const EnvironmentVariables = ({ environment, setIsModified, originalEnvironmentV const ErrorMessage = ({ name }) => { const meta = formik.getFieldMeta(name); - if (!meta.error) { + if (!meta.error || !meta.touched) { return null; } diff --git a/packages/bruno-electron/src/store/global-environments.js b/packages/bruno-electron/src/store/global-environments.js index c3e5b4f2e..b747a8c52 100644 --- a/packages/bruno-electron/src/store/global-environments.js +++ b/packages/bruno-electron/src/store/global-environments.js @@ -1,5 +1,6 @@ const _ = require('lodash'); const Store = require('electron-store'); +const { encryptString, decryptString } = require('../utils/encryption'); class GlobalEnvironmentsStore { constructor() { @@ -9,16 +10,52 @@ class GlobalEnvironmentsStore { }); } + isValidValue(val) { + return typeof val === 'string' && val.length >= 0; + } + + encryptGlobalEnvironmentVariables({ globalEnvironments }) { + return globalEnvironments?.map(env => { + const variables = env.variables?.map(v => ({ + ...v, + value: v?.secret ? (this.isValidValue(v.value) ? encryptString(v.value) : '') : v?.value + })) || []; + + return { + ...env, + variables + }; + }); + } + + decryptGlobalEnvironmentVariables({ globalEnvironments }) { + return globalEnvironments?.map(env => { + const variables = env.variables?.map(v => ({ + ...v, + value: v?.secret ? (this.isValidValue(v.value) ? decryptString(v.value) : '') : v?.value + })) || []; + + return { + ...env, + variables + }; + }); + } + + getGlobalEnvironments() { - return this.store.get('environments', []); + let globalEnvironments = this.store.get('environments', []); + globalEnvironments = this.decryptGlobalEnvironmentVariables({ globalEnvironments }); + return globalEnvironments; } getActiveGlobalEnvironmentUid() { return this.store.get('activeGlobalEnvironmentUid', null); } - setGlobalEnvironments(environments) { - return this.store.set('environments', environments); + setGlobalEnvironments(globalEnvironments) { + globalEnvironments = this.encryptGlobalEnvironmentVariables({ globalEnvironments }); + return this.store.set('environments', globalEnvironments); } setActiveGlobalEnvironmentUid(uid) {