Skip to content

Commit

Permalink
seperated code
Browse files Browse the repository at this point in the history
  • Loading branch information
Joshua2504 committed Aug 27, 2024
1 parent 8b866bb commit bcfb786
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 35 deletions.
2 changes: 1 addition & 1 deletion server/dbInit.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const mysql = require('mysql');
const logger = require('./winstonLogger');
const logger = require('./winston');

require('dotenv').config();
const DB_HOST = process.env.DB_HOST;
Expand Down
38 changes: 4 additions & 34 deletions server/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// this nodejs server will serve a rest api for the frontend to consume
// everything will be in one file for simplicity

const logger = require('./winstonLogger');
const logger = require('./winston');

// Environment variables
require('dotenv').config();
Expand Down Expand Up @@ -355,15 +355,7 @@ app.use(
})
);


// Middleware to check if user is logged in
function checkAuth(req, res, next) {
if (req.session.userId) {
next(); // User is logged in, proceed to the next middleware
} else {
res.json({ status: 'unauthorized', message: 'Unauthorized, please login' });
}
}
const checkAuth = require('./middleware/checkAuth'); // Adjust the path as necessary

// Routes
// / will serve static files from ../ and /api/v1 will serve the rest api
Expand Down Expand Up @@ -793,30 +785,8 @@ app.post(API_PATH + '/trainer/setup', checkAuth, (req, res) => {
});
});

// retrieve own trainer setups
app.get(API_PATH + '/trainer/mysetups', checkAuth, (req, res) => {
db.query('SELECT * FROM trainer_setups WHERE user_id = ?', [req.session.userId], (err, result) => {
if (err) {
logger.error('Error querying database: ' + err);
res.status(500).send('Internal Server Error');
return;
}
res.send(result);
});
});

// retrieve all public trainer setups
// include user nickname and id
app.get(API_PATH + '/trainer/setups', (req, res) => {
db.query('SELECT trainer_setups.*, users.nickname, users.id AS user_id FROM trainer_setups JOIN users ON trainer_setups.user_id = users.id WHERE is_public = TRUE', (err, result) => {
if (err) {
logger.error('Error querying database: ' + err);
res.status(500).send('Internal Server Error');
return;
}
res.send(result);
});
});
const trainerRoutes = require('./regnumTrainer'); // Adjust the path as necessary
app.use(API_PATH, trainerRoutes);

// retrieve the rating and recommendations of the trainer setup for the logged-in user
app.get(API_PATH + '/trainer/myratings/:id', checkAuth, (req, res) => {
Expand Down
10 changes: 10 additions & 0 deletions server/middleware/checkAuth.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Middleware to check if user is logged in
function checkAuth(req, res, next) {
if (req.session.userId) {
next(); // User is logged in, proceed to the next middleware
} else {
res.json({ status: 'unauthorized', message: 'Unauthorized, please login' });
}
}

module.exports = checkAuth;
34 changes: 34 additions & 0 deletions server/regnumTrainer.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
const express = require('express');
const router = express.Router();
const db = require('./dbInit'); // Adjust the path as necessary
const logger = require('./winston'); // Adjust the path as necessary
const checkAuth = require('./middleware/checkAuth'); // Adjust the path as necessary

const API_PATH = process.env.API_PATH || '/api/v1';

// retrieve own trainer setups
router.get('/trainer/mysetups', checkAuth, (req, res) => {
db.query('SELECT * FROM trainer_setups WHERE user_id = ?', [req.session.userId], (err, result) => {
if (err) {
logger.error('Error querying database: ' + err);
res.status(500).send('Internal Server Error');
return;
}
res.send(result);
});
});

// retrieve all public trainer setups
// include user nickname and id
router.get(API_PATH + '/trainer/setups', (req, res) => {
db.query('SELECT trainer_setups.*, users.nickname, users.id AS user_id FROM trainer_setups JOIN users ON trainer_setups.user_id = users.id WHERE is_public = TRUE', (err, result) => {
if (err) {
logger.error('Error querying database: ' + err);
res.status(500).send('Internal Server Error');
return;
}
res.send(result);
});
});

module.exports = router;
File renamed without changes.

0 comments on commit bcfb786

Please sign in to comment.