From 85f217f63e248ae0df44368a6a0d03620955f170 Mon Sep 17 00:00:00 2001 From: Carson Fleming Date: Wed, 18 Oct 2023 03:48:52 -0400 Subject: Created initial backend architecture and redirection routes --- routes.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 routes.js (limited to 'routes.js') 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; -- cgit v1.2.3