54 lines
1.4 KiB
JavaScript
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; |