diff options
Diffstat (limited to 'src/routes/index.js')
-rw-r--r-- | src/routes/index.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/routes/index.js b/src/routes/index.js new file mode 100644 index 0000000..6cf5403 --- /dev/null +++ b/src/routes/index.js | |||
@@ -0,0 +1,35 @@ | |||
1 | const express = require('express'); | ||
2 | const router = express.Router(); | ||
3 | const geddit = require('../geddit.js'); | ||
4 | const G = new geddit.Geddit(); | ||
5 | const fs = require('fs/promises'); | ||
6 | |||
7 | |||
8 | // GET / | ||
9 | router.get('/', async (req, res) => { | ||
10 | res.redirect("/r/all") | ||
11 | }); | ||
12 | |||
13 | // GET /r/:id | ||
14 | router.get('/r/:subreddit', async (req, res) => { | ||
15 | var subreddit = req.params.subreddit; | ||
16 | |||
17 | var postsReq = G.getSubmissions(`r/${subreddit}`); | ||
18 | var aboutReq = G.getSubreddit(`${subreddit}`); | ||
19 | |||
20 | var [posts, about] = await Promise.all([postsReq, aboutReq]); | ||
21 | res.render('index', { subreddit, posts, about }); | ||
22 | }); | ||
23 | |||
24 | // GET /comments/:id | ||
25 | router.get('/comments/:id', async (req, res) => { | ||
26 | var id = req.params.id; | ||
27 | |||
28 | response = await G.getSubmissionComments(id); | ||
29 | var post = response.submission.data; | ||
30 | var comments = response.comments; | ||
31 | |||
32 | res.render('comments', { post, comments }); | ||
33 | }); | ||
34 | |||
35 | module.exports = router; | ||