diff --git a/services/gunDB/contact-api/utils/index.js b/services/gunDB/contact-api/utils/index.js index c3039323..18e37bfe 100644 --- a/services/gunDB/contact-api/utils/index.js +++ b/services/gunDB/contact-api/utils/index.js @@ -182,11 +182,20 @@ const successfulHandshakeAlreadyExists = async recipientPub => { * @returns {Promise} */ const recipientToOutgoingID = async recipientPub => { - const maybeEncryptedOutgoingID = await require('../../Mediator/index') - .getUser() - .get(Key.RECIPIENT_TO_OUTGOING) - .get(recipientPub) - .then() + const maybeEncryptedOutgoingID = await tryAndWait(async (_, user) => { + const oid = await user + .get(Key.RECIPIENT_TO_OUTGOING) + .get(recipientPub) + .then() + + if (typeof oid !== 'string' && oid !== null) { + throw new Error( + 'Expected outgoing id from recipient-to-outgoing-id map to be an string or null' + ) + } + + return oid + }) if (typeof maybeEncryptedOutgoingID === 'string') { const outgoingID = await require('../../Mediator/index').mySEA.decrypt(