From f6e056d4e42096fb42904a2fd1b03e21f3d70d48 Mon Sep 17 00:00:00 2001 From: Matt Huntington Date: Tue, 20 Dec 2022 23:10:02 -0500 Subject: [PATCH] got pagination working --- server.js | 71 +++++++++++++++++++++++++++++++++++++++++++++++++-- views/all.ejs | 8 ++++++ 2 files changed, 77 insertions(+), 2 deletions(-) diff --git a/server.js b/server.js index b49c0ed..b6b8715 100644 --- a/server.js +++ b/server.js @@ -26,12 +26,79 @@ app.get('/', async (req, res)=>{ Authorization: 'bearer '+response.data.access_token } } - response = await axios.get('https://oauth.reddit.com/user/mahuntington/saved?limit=100', config) + response = await axios.get('https://oauth.reddit.com/user/mahuntington/saved?count=100', config) - res.render('all.ejs', { posts: response.data.data.children.filter(post => post.data.subreddit === 'ProgrammerHumor' && post.data.removed_by_category === null)}) + 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 + } + 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) + + 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('/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) + + 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.listen(3002, ()=>{ console.log('listening'); }) diff --git a/views/all.ejs b/views/all.ejs index 19273de..a7e75d2 100644 --- a/views/all.ejs +++ b/views/all.ejs @@ -18,5 +18,13 @@ <%}%> +