diff options
| author | Carson Fleming <cflems@cflems.net> | 2023-10-18 03:48:52 -0400 |
|---|---|---|
| committer | Carson Fleming <cflems@cflems.net> | 2023-10-18 03:48:52 -0400 |
| commit | 85f217f63e248ae0df44368a6a0d03620955f170 (patch) | |
| tree | d6d84084f8f2ad5a3fa0804ee576b492d9e33e7e /routes.js | |
| parent | adaf5b0fde4431eb186075e7921e2f0999e68dd9 (diff) | |
| download | fle.ms-85f217f63e248ae0df44368a6a0d03620955f170.tar.gz | |
Created initial backend architecture and redirection routes
Diffstat (limited to 'routes.js')
| -rw-r--r-- | routes.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/routes.js b/routes.js new file mode 100644 index 0000000..d07e791 --- /dev/null +++ b/routes.js @@ -0,0 +1,29 @@ +const express = require('express'); +const path = require('path'); +const Url = require('./db/url-schema.js'); +const utils = require('./utils.js'); +const router = express.Router(); + +router.get('/', async (req, res) => { + res.sendFile('static/index.html', { + root: path.join(__dirname) + }, () => utils.sendNotFoundError(res)); +}); + +router.get('/:slug', async (req, res) => { + try { + const url = await Url.findOne({slug: req.params.slug}); + if (url) + res.redirect(301, url.url); + else + utils.sendNotFoundError(res); + } catch (err) { + utils.sendInternalServerError(res); + } +}); + +router.all('/*', async (req, res) => { + utils.sendNotFoundError(res); +}) + +module.exports = router; |
