From 48f0605331d448b569d6063ec7a56db3982761f3 Mon Sep 17 00:00:00 2001 From: Matt Huntington Date: Thu, 22 Dec 2022 14:34:16 -0500 Subject: [PATCH] cleanup --- server.js | 97 ++++++++++++++----------------------------------------- 1 file changed, 25 insertions(+), 72 deletions(-) diff --git a/server.js b/server.js index b6b8715..a02b536 100644 --- a/server.js +++ b/server.js @@ -3,18 +3,18 @@ const app = express(); const axios = require('axios'); const querystring = require('querystring'); -app.get('/', async (req, res)=>{ - - const data = { - grant_type:'password', - username:process.env.REDDITUSR, - password:process.env.REDDITPWD - } - const auth = { - username: process.env.APPID, - password: process.env.APPSECRET - } - let response = await axios({ +const data = { + grant_type:'password', + username:process.env.REDDITUSR, + password:process.env.REDDITPWD +} +const auth = { + username: process.env.APPID, + password: process.env.APPSECRET +} + +const getToken = async ()=>{ + const response = await axios({ url:'https://www.reddit.com/api/v1/access_token', method:'post', auth:auth, @@ -26,39 +26,19 @@ app.get('/', async (req, res)=>{ Authorization: 'bearer '+response.data.access_token } } - response = await axios.get('https://oauth.reddit.com/user/mahuntington/saved?count=100', config) + return config +} - res.render('all.ejs', { - posts: response.data.data.children.filter(post => post.data.subreddit === 'ProgrammerHumor' && post.data.removed_by_category === null), - next: response.data.data.after, - previous:null - }) - -}) - -app.get('/after/:after', async (req, res)=>{ - const data = { - grant_type:'password', - username:process.env.REDDITUSR, - password:process.env.REDDITPWD - } - const auth = { - username: process.env.APPID, - password: process.env.APPSECRET +const generate = async (req, res)=>{ + + let url = `https://oauth.reddit.com/user/mahuntington/saved?count=100`; + + if(req.params.direction){ + url += `&${req.params.direction}=${req.params.page}` } - let response = await axios({ - url:'https://www.reddit.com/api/v1/access_token', - method:'post', - auth:auth, - data:querystring.stringify(data) - }) - const config = { - headers:{ - Authorization: 'bearer '+response.data.access_token - } - } - response = await axios.get('https://oauth.reddit.com/user/mahuntington/saved?count=100&after='+req.params.after, config) + const config = await getToken() + const response = await axios.get(url, config) res.render('all.ejs', { posts: response.data.data.children.filter(post => post.data.subreddit === 'ProgrammerHumor' && post.data.removed_by_category === null), @@ -66,39 +46,12 @@ app.get('/after/:after', async (req, res)=>{ previous: response.data.data.before }) -}) - -app.get('/before/:before', async (req, res)=>{ - const data = { - grant_type:'password', - username:process.env.REDDITUSR, - password:process.env.REDDITPWD - } - const auth = { - username: process.env.APPID, - password: process.env.APPSECRET - } - let response = await axios({ - url:'https://www.reddit.com/api/v1/access_token', - method:'post', - auth:auth, - data:querystring.stringify(data) - }) +} - const config = { - headers:{ - Authorization: 'bearer '+response.data.access_token - } - } - response = await axios.get('https://oauth.reddit.com/user/mahuntington/saved?count=100&before='+req.params.before, config) +app.get('/', generate) - res.render('all.ejs', { - posts: response.data.data.children.filter(post => post.data.subreddit === 'ProgrammerHumor' && post.data.removed_by_category === null), - next: response.data.data.after, - previous: response.data.data.before - }) +app.get('/:direction/:page', generate) -}) app.listen(3002, ()=>{ console.log('listening'); })