Switched mysql from connection to pool, Replaced connect-flash with build-in code

This commit is contained in:
2026-01-09 23:41:07 +01:00
parent cc92b4653c
commit cd07bb0cbf
8 changed files with 519 additions and 486 deletions

4
app.js
View File

@@ -6,8 +6,6 @@ var logger = require('morgan');
var session = require('express-session'); var session = require('express-session');
var flash = require('connect-flash');
var indexRouter = require('./routes/index'); var indexRouter = require('./routes/index');
var app = express(); var app = express();
@@ -41,8 +39,6 @@ app.use(session({
resave : false resave : false
})); }));
app.use(flash());
app.use('/', indexRouter); app.use('/', indexRouter);
// catch 404 and forward to error handler // catch 404 and forward to error handler

View File

@@ -58,7 +58,7 @@ function onError(error) {
throw error; throw error;
} }
var bind = typeof port === 'string' const bind = typeof port === 'string'
? 'Pipe ' + port ? 'Pipe ' + port
: 'Port ' + port; : 'Port ' + port;
@@ -82,9 +82,9 @@ function onError(error) {
*/ */
function onListening() { function onListening() {
var addr = server.address(); const addr = server.address();
var bind = typeof addr === 'string' const bind = typeof addr === 'string'
? 'pipe ' + addr ? 'pipe ' + addr
: 'port ' + addr.port; : 'port ' + addr.port;
debug('Listening on ' + bind); console.log('Listening on ' + bind);
} }

View File

@@ -1,21 +1,13 @@
const mysql = require('mysql2'); var mysql = require('mysql2/promise');
var connection = mysql.createConnection({ const DBPool = mysql.createPool({
host : 'localhost', host : 'localhost',
database : 'testing', database : 'testing',
user : 'root', user : 'root',
password : '' password : ''
waitForConnections: true,
connectionLimit: 10,
queueLimit: 0
}); });
connection.connect(function(error){ module.exports = DBPool;
if(error)
{
throw error;
}
else
{
console.log('MySQL Database is connected Successfully');
}
});
module.exports = connection;

855
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,6 @@
}, },
"dependencies": { "dependencies": {
"@mdi/font": "latest", "@mdi/font": "latest",
"connect-flash": "latest",
"cookie-parser": "latest", "cookie-parser": "latest",
"debug": "latest", "debug": "latest",
"ejs": "latest", "ejs": "latest",

View File

@@ -32,7 +32,7 @@ body {
} }
.container{ .container{
padding: 1%; padding: 1% 1% 80px 1%;
} }
a { a {

View File

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

View File

@@ -59,9 +59,6 @@
<th>To</th> <th>To</th>
<th>Time taken</th> <th>Time taken</th>
<th>Avg. Speed</th> <th>Avg. Speed</th>
<!-- Uncomment next line to add an action row (Delete and Info button) to the table
<th class="TableActions">Action</th>
-->
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@@ -77,18 +74,6 @@
<td><%= data.end_point %></td> <td><%= data.end_point %></td>
<td><%= data.time_taken %> Min</td> <td><%= data.time_taken %> Min</td>
<td><%= data.average_speed %> Km/h</td> <td><%= data.average_speed %> Km/h</td>
<!-- Uncomment next lines to add an action row (Delete and Info button) to the table
<td class="TableActions">
<button class="btn btn-delete" onclick="location.href='/delete/<%= data.id %>'">
<span class="mdi mdi-delete mdi-24px"></span>
<span class="mdi mdi-delete-empty mdi-24px"></span>
</button>
<button class="btn btn-info" onclick="location.href='/view/<%= data.id %>'">
<span class="mdi mdi-information-outline mdi-24px"></span>
<span class="mdi mdi-information mdi-24px"></span>
</button>
</td>
-->
</tr> </tr>
<% }); } else { %> <% }); } else { %>
<tr> <tr>
@@ -100,13 +85,13 @@
</div> </div>
</div> </div>
<% } %> <% } %>
<footer>
<div class="left">
<p>BikeRideViewer | By brammp</p>
</div>
<div class="right">
<p><a href="https://git.bprieshof.nl/brammp/BikeRideViewer"><span class="mdi mdi-git mdi-18px"></span>SourceCode</a></p>
</div>
</footer>
</body> </body>
<footer>
<div class="left">
<p>BikeRideViewer | By brammp</p>
</div>
<div class="right">
<p><a href="https://git.bprieshof.nl/brammp/BikeRideViewer"><span class="mdi mdi-git mdi-18px"></span>SourceCode</a></p>
</div>
</footer>
</html> </html>