From b8aae30f67f75ba06c396c3ed6c7f4fdf2f47d44 Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Thu, 6 Feb 2020 16:08:36 -0400 Subject: [PATCH] memoize mySecret --- services/gunDB/Mediator/index.js | 16 ++++++++-------- services/gunDB/contact-api/utils/index.js | 8 +------- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/services/gunDB/Mediator/index.js b/services/gunDB/Mediator/index.js index 1c17c0ef..ea4899e4 100644 --- a/services/gunDB/Mediator/index.js +++ b/services/gunDB/Mediator/index.js @@ -148,6 +148,11 @@ let user let _currentAlias = '' let _currentPass = '' +let mySec = '' + +/** @returns {string} */ +const getMySecret = () => mySec + let _isAuthenticating = false let _isRegistering = false @@ -197,10 +202,7 @@ const authenticate = async (alias, pass) => { API.Jobs.onAcceptedRequests(user, mySEA) API.Jobs.onOrders(user, gun, mySEA) - const mySec = await mySEA.secret(user._.sea.epub, user._.sea) - if (typeof mySec !== 'string') { - throw new TypeError('mySec not an string') - } + mySec = await mySEA.secret(user._.sea.epub, user._.sea) _currentAlias = user.is ? user.is.alias : '' _currentPass = await mySEA.encrypt(pass, mySec) @@ -1083,9 +1085,6 @@ const register = async (alias, pass) => { _isRegistering = false const mySecret = await mySEA.secret(user._.sea.epub, user._.sea) - if (typeof mySecret !== 'string') { - throw new Error('Could not generate secret for user.') - } if (typeof ack.err === 'string') { throw new Error(ack.err) @@ -1145,5 +1144,6 @@ module.exports = { instantiateGun, getGun, getUser, - mySEA + mySEA, + getMySecret } diff --git a/services/gunDB/contact-api/utils/index.js b/services/gunDB/contact-api/utils/index.js index 1fc6d00d..1294f1c5 100644 --- a/services/gunDB/contact-api/utils/index.js +++ b/services/gunDB/contact-api/utils/index.js @@ -19,13 +19,7 @@ const delay = ms => new Promise(res => setTimeout(res, ms)) /** * @returns {Promise} */ -const mySecret = () => { - const user = require('../../Mediator/index').getUser() - return require('../../Mediator/index').mySEA.secret( - user._.sea.epub, - user._.sea - ) -} +const mySecret = () => Promise.resolve(require('../../Mediator').getMySecret()) /** * @template T