Add support for calling GunDB "open" through HTTP

This commit is contained in:
emad-salah 2021-03-04 17:02:31 +01:00
parent fce4fee2cb
commit 679d417bd9

View file

@ -2981,6 +2981,7 @@ module.exports = async (
if (type === 'once') node.once(listener) if (type === 'once') node.once(listener)
if (type === 'load') node.load(listener) if (type === 'load') node.load(listener)
if (type === 'open') node.open(listener)
}) })
}) })
} }
@ -3042,28 +3043,23 @@ module.exports = async (
}) })
}) })
ap.get('/api/gun/otheruser/:publicKey/once/:path', async (req, res) => { ap.get('/api/gun/otheruser/:publicKey/:type/:path', async (req, res) => {
const allowedTypes = ['once', 'load', 'open']
const publicKeyForDecryption = req.header(PUBKEY_FOR_DECRYPT_HEADER) const publicKeyForDecryption = req.header(PUBKEY_FOR_DECRYPT_HEADER)
const { path, publicKey } = req.params const { path, publicKey, type } = req.params
res.status(200).json({
data: await handleGunFetch({ if (!allowedTypes.includes(type)) {
path, res.status(400).json({
startFromUserGraph: false, errorMessage: 'Invalid type specified'
type: 'once', })
publicKey, return
publicKeyForDecryption }
})
})
})
ap.get('/api/gun/otheruser/:publicKey/load/:path', async (req, res) => {
const publicKeyForDecryption = req.header(PUBKEY_FOR_DECRYPT_HEADER)
const { path, publicKey } = req.params
res.status(200).json({ res.status(200).json({
data: await handleGunFetch({ data: await handleGunFetch({
path, path,
startFromUserGraph: false, startFromUserGraph: false,
type: 'load', type,
publicKey, publicKey,
publicKeyForDecryption publicKeyForDecryption
}) })