Files
BikeRideViewer/routes/index.js

54 lines
1.4 KiB
JavaScript

var express = require('express');
var router = express.Router();
var DBPool = require('../database');
router.get('/', async function (req, res) {
try {
const query = 'SELECT * FROM Rides ORDER BY id DESC';
const [data] = await DBPool.query(query);
let successMessages = "";
if (req.session && req.session.flashMessage) {
successMessages = req.session.flashMessage.success || "";
delete req.session.flashMessage.success;
}
res.render('index', {title: 'BikeRides',action: 'list',TheData: data,message:successMessages});
} catch (error) {
console.error(error);
res.status(500).send('Error');
}
});
router.get('/view/:id', async (req, res) => {
try {
var id = req.params.id;
var query = `SELECT * FROM Rides WHERE id = "${id}"`;
const [data] = await DBPool.query(query);
res.render('index', {title: 'View ride', action:'view', data:data[0]});
} catch (error) {
console.error(error); res.status(500).send("Error");
}
});
router.get('/delete/:id', async function(req, res){
try {
var id = req.params.id;
var query = `DELETE FROM Rides WHERE id = "${id}"`;
await DBPool.query(query);
req.session = req.session || {};
req.session.flashMessage = req.session.flashMessage || {};
req.session.flashMessage.success = ('Ride removed');
res.redirect("/");
} catch (error) {
console.error(error); throw error;;
}
});
module.exports = router;