From 0ff716db08536109d8e98ad0a880eafe2dc90443 Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Thu, 20 Feb 2020 15:31:29 -0400 Subject: [PATCH 1/7] getChats() --- services/gunDB/contact-api/events/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/services/gunDB/contact-api/events/index.js b/services/gunDB/contact-api/events/index.js index 21566c55..a6679a1d 100644 --- a/services/gunDB/contact-api/events/index.js +++ b/services/gunDB/contact-api/events/index.js @@ -436,6 +436,8 @@ const onOutgoing = cb => { /** @type {Chat[]} */ let currentChats = [] +export const getChats = () => currentChats + /** @type {Set} */ const chatsListeners = new Set() From 335f8ac222600ea875eb8527f1979f086cb6d3de Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Thu, 20 Feb 2020 15:49:50 -0400 Subject: [PATCH 2/7] export getReceivedReqs --- services/gunDB/contact-api/events/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/services/gunDB/contact-api/events/index.js b/services/gunDB/contact-api/events/index.js index a6679a1d..d1e83383 100644 --- a/services/gunDB/contact-api/events/index.js +++ b/services/gunDB/contact-api/events/index.js @@ -598,6 +598,7 @@ module.exports = { onSimplerReceivedRequests: require('./onReceivedReqs').onReceivedReqs, onSimplerSentRequests: require('./onSentReqs').onSentReqs, getCurrentSentReqs: require('./onSentReqs').getCurrentSentReqs, + getCurrentReceivedReqs: require('./onReceivedReqs').getReceivedReqs, onBio, onSeedBackup, onChats, From cce1a75ad6637c4a29863b127f1a91b786836131 Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Thu, 20 Feb 2020 15:52:03 -0400 Subject: [PATCH 3/7] correct export --- services/gunDB/contact-api/events/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/gunDB/contact-api/events/index.js b/services/gunDB/contact-api/events/index.js index d1e83383..1e340a4c 100644 --- a/services/gunDB/contact-api/events/index.js +++ b/services/gunDB/contact-api/events/index.js @@ -436,7 +436,7 @@ const onOutgoing = cb => { /** @type {Chat[]} */ let currentChats = [] -export const getChats = () => currentChats +const getChats = () => currentChats /** @type {Set} */ const chatsListeners = new Set() @@ -604,5 +604,6 @@ module.exports = { onChats, getAvatar, getDisplayName, - getHandshakeAddress + getHandshakeAddress, + getChats } From 922dad78b725c7b21e986490a609268ed221b564 Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Thu, 20 Feb 2020 16:02:07 -0400 Subject: [PATCH 4/7] lint rules --- .eslintrc.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.eslintrc.json b/.eslintrc.json index 6f4fbc0d..8f0cc2e1 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -5,6 +5,8 @@ "prettier/prettier": "error", "strict": "off", + "no-empty-function": "off", + "no-console": "off", "max-statements": "off", From 4ca1e7ffe38f1e6cfe40ca9296e88d984dae36a0 Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Fri, 21 Feb 2020 12:47:25 -0400 Subject: [PATCH 5/7] http polling events --- src/routes.js | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/src/routes.js b/src/routes.js index 1b9e4c1e..680d2e75 100644 --- a/src/routes.js +++ b/src/routes.js @@ -1562,6 +1562,99 @@ module.exports = async ( }); }); + const GunEvent = require('../services/gunDB/event-constants') + const Events = require('../services/gunDB/contact-api/events') + + app.get(`/api/gun/${GunEvent.ON_RECEIVED_REQUESTS}`, (_, res) => { + try { + // spinup + Events.onSimplerReceivedRequests(() => {})() + const data = Events.getCurrentReceivedReqs() + res.json({ + data, + }) + } catch (err) { + res.status(500).json({ + errorMessage: (typeof err === 'object' && err.message) || 'Unknown error' + }) + } + }) + + app.get(`/api/gun/${GunEvent.ON_SENT_REQUESTS}`, (_, res) => { + try { + // spinup + Events.onSimplerSentRequests(() => {})() + const data = Events.getCurrentSentReqs() + res.json({ + data, + }) + } catch (err) { + res.status(500).json({ + errorMessage: (typeof err === 'object' && err.message) || 'Unknown error' + }) + } + }) + + app.get(`/api/gun/${GunEvent.ON_CHATS}`, (_, res) => { + try { + // spinup + Events.onChats(() => {})() + const data = Events.getChats() + res.json({ + data + }) + } catch (err) { + res.status(500).json({ + errorMessage: (typeof err === 'object' && err.message) || 'Unknown error' + }) + } + }) + + app.get(`/api/gun/${GunEvent.ON_AVATAR}`, (_, res) => { + try { + // spinup + Events.onAvatar(() => {})() + const data = Events.getAvatar() + res.json({ + data + }) + } catch (err) { + res.status(500).json({ + errorMessage: (typeof err === 'object' && err.message) || 'Unknown error' + }) + } + }) + + app.get(`/api/gun/${GunEvent.ON_DISPLAY_NAME}`, (_, res) => { + try { + // spinup + Events.onDisplayName(() => {})() + const data = Events.getDisplayName() + res.json({ + data + }) + } catch (err) { + res.status(500).json({ + errorMessage: (typeof err === 'object' && err.message) || 'Unknown error' + }) + } + }) + + app.get(`/api/gun/${GunEvent.ON_HANDSHAKE_ADDRESS}`, (_, res) => { + try { + // spinup + Events.onCurrentHandshakeAddress(() => {})() + const data = Events.getHandshakeAddress() + res.json({ + data + }) + } catch (err) { + res.status(500).json({ + errorMessage: (typeof err === 'object' && err.message) || 'Unknown error' + }) + } + }) + /** * Return app so that it can be used by express. */ From e33716c4091fabf221c0ae0819420590020659ca Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Thu, 20 Feb 2020 19:04:25 -0400 Subject: [PATCH 6/7] call next() for non lnd routes --- src/routes.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/routes.js b/src/routes.js index 680d2e75..27a8ac44 100644 --- a/src/routes.js +++ b/src/routes.js @@ -284,6 +284,7 @@ module.exports = async ( errorMessage: "Please create a wallet before using the API" }); } + next() } catch (err) { logger.error(err); res From 74235a1a317d032fa59def4b299945dc2708273f Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Fri, 21 Feb 2020 14:20:24 -0400 Subject: [PATCH 7/7] better errorr --- src/routes.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/routes.js b/src/routes.js index 27a8ac44..2750fa65 100644 --- a/src/routes.js +++ b/src/routes.js @@ -1576,7 +1576,7 @@ module.exports = async ( }) } catch (err) { res.status(500).json({ - errorMessage: (typeof err === 'object' && err.message) || 'Unknown error' + errorMessage: typeof err === 'string' ? err : err.message }) } }) @@ -1591,7 +1591,7 @@ module.exports = async ( }) } catch (err) { res.status(500).json({ - errorMessage: (typeof err === 'object' && err.message) || 'Unknown error' + errorMessage: typeof err === 'string' ? err : err.message }) } }) @@ -1606,7 +1606,7 @@ module.exports = async ( }) } catch (err) { res.status(500).json({ - errorMessage: (typeof err === 'object' && err.message) || 'Unknown error' + errorMessage: typeof err === 'string' ? err : err.message }) } }) @@ -1621,7 +1621,7 @@ module.exports = async ( }) } catch (err) { res.status(500).json({ - errorMessage: (typeof err === 'object' && err.message) || 'Unknown error' + errorMessage: typeof err === 'string' ? err : err.message }) } }) @@ -1630,13 +1630,13 @@ module.exports = async ( try { // spinup Events.onDisplayName(() => {})() - const data = Events.getDisplayName() + const data = Events.getDisplayName() res.json({ data }) } catch (err) { res.status(500).json({ - errorMessage: (typeof err === 'object' && err.message) || 'Unknown error' + errorMessage: typeof err === 'string' ? err : err.message }) } }) @@ -1651,7 +1651,7 @@ module.exports = async ( }) } catch (err) { res.status(500).json({ - errorMessage: (typeof err === 'object' && err.message) || 'Unknown error' + errorMessage: typeof err === 'string' ? err : err.message }) } })