Add better error handling for data.js route
parent
4f3581b1e5
commit
6705f06e18
167
routes/data.js
167
routes/data.js
|
@ -11,75 +11,150 @@ var accounts = require('../database/accounts/accounts');
|
|||
|
||||
var checkLoginStatus = require('./checkLoginStatus');
|
||||
|
||||
router.get('/sports', function(req, res, next) {
|
||||
sports.retrieveAll()
|
||||
.then(data => res.json(data));
|
||||
router.get('/sports', async function(req, res, next) {
|
||||
try {
|
||||
const data = await sports.retrieveAll();
|
||||
res.json(data);
|
||||
} catch(err) {
|
||||
console.error("ERROR: " + err.message);
|
||||
res.status(500).send("An error has occurred");
|
||||
}
|
||||
});
|
||||
|
||||
router.get('/sport', function(req, res, next) {
|
||||
sports.getFromID(req.query.sport)
|
||||
.then(data => res.json(data));
|
||||
router.get('/sport', async function(req, res, next) {
|
||||
try {
|
||||
const sportID = req.query.sport;
|
||||
const data = await sports.getFromID(sportID);
|
||||
res.json(data);
|
||||
} catch(err) {
|
||||
console.error("ERROR: " + err.message);
|
||||
res.status(500).send("An error has occurred");
|
||||
}
|
||||
});
|
||||
|
||||
router.get('/seasons', function(req, res, next) {
|
||||
seasons.retrieveAll()
|
||||
.then(data => res.json(data));
|
||||
router.get('/seasons', async function(req, res, next) {
|
||||
try {
|
||||
const data = await seasons.retrieveAll();
|
||||
res.json(data);
|
||||
} catch(err) {
|
||||
console.error("ERROR: " + err.message);
|
||||
res.status(500).send("An error has occurred");
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/genders', function(req, res, next) {
|
||||
genders.retrieveBySport(req.query.sport)
|
||||
.then(data => res.json(data));
|
||||
router.get('/genders', async function(req, res, next) {
|
||||
try {
|
||||
const sportID = req.query.sport;
|
||||
const data = await genders.retrieveBySport(sportID);
|
||||
res.json(data);
|
||||
} catch(err) {
|
||||
console.error("ERROR: " + err.message);
|
||||
res.status(500).send("An error has occurred");
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/divisions', function(req, res, next) {
|
||||
let gender;
|
||||
if(req.query.gender) gender = (req.query.gender == 'female' ? genders.FEMALE : genders.MALE);
|
||||
router.get('/divisions', async function(req, res, next) {
|
||||
try{
|
||||
let gender;
|
||||
if(req.query.gender) gender = (req.query.gender == 'female' ? genders.FEMALE : genders.MALE);
|
||||
|
||||
divisions.retrieve(req.query.sport, gender)
|
||||
.then(data => res.json(data));
|
||||
const sportID = req.query.sport;
|
||||
const data = await divisions.retrieve(sportID, gender);
|
||||
res.json(data);
|
||||
} catch(err) {
|
||||
console.error("ERROR: " + err.message);
|
||||
res.status(500).send("An error has occurred");
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/division', function(req, res, next) {
|
||||
divisions.getFromID(req.query.division)
|
||||
.then(data => res.json(data));
|
||||
router.get('/division', async function(req, res, next) {
|
||||
try {
|
||||
const divisionID = req.query.division;
|
||||
const data = await divisions.getFromID(divisionID);
|
||||
res.json(data);
|
||||
} catch(err) {
|
||||
console.error("ERROR: " + err.message);
|
||||
res.status(500).send("An error has occurred");
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/teams', function(req, res, next) {
|
||||
teams.retrieve(req.query.sport)
|
||||
.then(data => res.json(data));
|
||||
router.get('/teams', async function(req, res, next) {
|
||||
try {
|
||||
const sportID = req.query.sport;
|
||||
const data = await teams.retrieve(sportID);
|
||||
res.json(data);
|
||||
} catch(err) {
|
||||
console.error("ERROR: " + err.message);
|
||||
res.status(500).send("An error has occurred");
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/team', function(req, res, next) {
|
||||
teams.getFromID(req.query.team)
|
||||
.then(data => res.json(data));
|
||||
router.get('/team', async function(req, res, next) {
|
||||
try {
|
||||
const teamID = req.query.team;
|
||||
const data = await teams.getFromID(teamID);
|
||||
res.json(data);
|
||||
} catch(err) {
|
||||
console.error("ERROR: " + err.message);
|
||||
res.status(500).send("An error has occurred");
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/games', function(req, res, next) {
|
||||
const userID = req.user ? req.user[0] : null;
|
||||
if(req.query.user) games.retrieveByUser(userID).then(data => res.json(data));
|
||||
else games.retrieve(req.query.team, req.query.division, req.query.season).then(data => res.json(data));
|
||||
router.get('/games', async function(req, res, next) {
|
||||
try {
|
||||
const userID = req.user ? req.user[0] : null;
|
||||
if(req.query.user) {
|
||||
const data = await games.retrieveByUser(userID);
|
||||
res.json(data);
|
||||
} else {
|
||||
const seasonID = req.query.season;
|
||||
const divisionID = req.query.division;
|
||||
const teamID = req.query.team;
|
||||
const data = await games.retrieve(teamID, divisionID, seasonID);
|
||||
res.json(data);
|
||||
}
|
||||
} catch(err) {
|
||||
console.error("ERROR: " + err.message);
|
||||
res.status(500).send("An error has occurred");
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/game', function(req, res, next) {
|
||||
games.getFromID(req.query.game)
|
||||
.then(data => res.json(data));
|
||||
router.get('/game', async function(req, res, next) {
|
||||
try {
|
||||
const gameID = req.query.game;
|
||||
const data = await games.getFromID(gameID);
|
||||
res.json(data);
|
||||
} catch(err) {
|
||||
console.error("ERROR: " + err.message);
|
||||
res.status(500).send("An error has occurred");
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/accounts', checkLoginStatus.admin, function(req, res, next) {
|
||||
accounts.retrieveAll()
|
||||
.then(data => res.json(data));
|
||||
router.get('/accounts', checkLoginStatus.admin, async function(req, res, next) {
|
||||
try {
|
||||
const data = await accounts.retrieveAll();
|
||||
res.json(data);
|
||||
} catch(err) {
|
||||
console.error("ERROR: " + err.message);
|
||||
res.status(500).send("An error has occurred");
|
||||
}
|
||||
})
|
||||
|
||||
router.get('/account', checkLoginStatus.user, function(req, res, next) {
|
||||
const userIsAdmin = req.user[2];
|
||||
const loggedInAccountID = req.user[0];
|
||||
const requestedAccountID = req.query.account;
|
||||
|
||||
if(!userIsAdmin && loggedInAccountID != requestedAccountID) {
|
||||
res.status(403).send("ACCESS DENIED");
|
||||
} else {
|
||||
accounts.getFromID(req.query.account)
|
||||
.then(data => res.json(data));
|
||||
router.get('/account', checkLoginStatus.user, async function(req, res, next) {
|
||||
try{
|
||||
const userIsAdmin = req.user[2];
|
||||
const loggedInAccountID = req.user[0];
|
||||
const requestedAccountID = req.query.account;
|
||||
|
||||
if(!userIsAdmin && loggedInAccountID != requestedAccountID) {
|
||||
res.status(403).send("ACCESS DENIED");
|
||||
} else {
|
||||
const data = await accounts.getFromID(req.query.account);
|
||||
res.json(data);
|
||||
}
|
||||
} catch(err) {
|
||||
console.error("ERROR: " + err.message);
|
||||
res.status(500).send("An error has occurred");
|
||||
}
|
||||
})
|
||||
|
||||
|
|
Reference in New Issue