From 806ff0bab7a2159dcb3afe13b7c82932dfb418c8 Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Thu, 30 Jan 2020 07:22:01 -0400 Subject: [PATCH] delete stored req on successful connect --- .../contact-api/jobs/onAcceptedRequests.js | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/services/gunDB/contact-api/jobs/onAcceptedRequests.js b/services/gunDB/contact-api/jobs/onAcceptedRequests.js index 34888ca9..3f6efff4 100644 --- a/services/gunDB/contact-api/jobs/onAcceptedRequests.js +++ b/services/gunDB/contact-api/jobs/onAcceptedRequests.js @@ -33,7 +33,7 @@ const onAcceptedRequests = async (user, SEA) => { user .get(Key.STORED_REQS) .map() - .once(async storedReq => { + .once(async (storedReq, id) => { try { if (!Schema.isStoredRequest(storedReq)) { throw new TypeError('Stored request not an StoredRequest') @@ -123,10 +123,31 @@ const onAcceptedRequests = async (user, SEA) => { mySecret ) - user - .get(Key.USER_TO_INCOMING) - .get(recipientPub) - .put(encryptedForMeIncomingID) + await new Promise((res, rej) => { + user + .get(Key.USER_TO_INCOMING) + .get(recipientPub) + .put(encryptedForMeIncomingID, ack => { + if (ack.err) { + rej(new Error(ack.err)) + } else { + res() + } + }) + }) + + await new Promise((res, rej) => { + user + .get(Key.STORED_REQS) + .get(id) + .put(null, ack => { + if (ack.err) { + rej(new Error(ack.err)) + } else { + res() + } + }) + }) // ensure this listeners gets called at least once res()