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", diff --git a/services/gunDB/contact-api/events/index.js b/services/gunDB/contact-api/events/index.js index 21566c55..1e340a4c 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 = [] +const getChats = () => currentChats + /** @type {Set} */ const chatsListeners = new Set() @@ -596,10 +598,12 @@ module.exports = { onSimplerReceivedRequests: require('./onReceivedReqs').onReceivedReqs, onSimplerSentRequests: require('./onSentReqs').onSentReqs, getCurrentSentReqs: require('./onSentReqs').getCurrentSentReqs, + getCurrentReceivedReqs: require('./onReceivedReqs').getReceivedReqs, onBio, onSeedBackup, onChats, getAvatar, getDisplayName, - getHandshakeAddress + getHandshakeAddress, + getChats } diff --git a/src/routes.js b/src/routes.js index 1b9e4c1e..2750fa65 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 @@ -1562,6 +1563,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 === 'string' ? err : err.message + }) + } + }) + + 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 === 'string' ? err : err.message + }) + } + }) + + 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 === 'string' ? err : err.message + }) + } + }) + + 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 === 'string' ? err : err.message + }) + } + }) + + 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 === 'string' ? err : err.message + }) + } + }) + + 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 === 'string' ? err : err.message + }) + } + }) + /** * Return app so that it can be used by express. */