From 3fe77ca010a1946b77fdb5288dd7a628f80cadeb Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 10 Jan 2019 20:39:58 -0800 Subject: /friends endpoint --- index.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 5576aa5b..33270d09 100644 --- a/index.js +++ b/index.js @@ -388,6 +388,21 @@ const l = console.log }) }) + app.get('/friends', auth, async (req, res) => { + try { + let friends = (await fb.api(`/${req.user.username}/friends?access_token=${req.user.fbtoken}`)).data + friends = await Promise.all(friends.map(async f => { + let pic = (await fb.api(`/${f.id}/picture?redirect=false&type=small&accessToken=${req.user.fbtoken}`)).data + f.pic = pic.url + return f + })) + + res.send(friends) + } catch (e) { + res.status(500).send('There was a problem getting your facebook friends: ', e) + } + }) + app.post('/payUser', auth, async (req, res) => { let { payuser, amount } = req.body @@ -397,7 +412,7 @@ const l = console.log } }) - if (!user) return res.status(401).end() + if (!user) return res.status(401).send("Couldn't find the user you're trying to pay") let err = m => res.status(500).send(m) let invoice @@ -576,6 +591,9 @@ const l = console.log addresses[user.address] = user.username } + user.fbtoken = accessToken + await user.save() + let payload = { username: user.username } let token = jwt.sign(payload, process.env.SECRET) res.cookie('token', token, { expires: new Date(Date.now() + 432000000) }) -- cgit v1.2.3