86 lines
2.6 KiB
JavaScript
86 lines
2.6 KiB
JavaScript
var express = require('express');
|
|
var router = express.Router();
|
|
|
|
var sports = require('../database/scores/sports');
|
|
var seasons = require('../database/scores/seasons');
|
|
var genders = require('../database/scores/genders');
|
|
var divisions = require('../database/scores/divisions');
|
|
var teams = require('../database/scores/teams');
|
|
var games = require('../database/scores/games');
|
|
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('/sport', function(req, res, next) {
|
|
sports.getFromID(req.query.sport)
|
|
.then(data => res.json(data));
|
|
});
|
|
|
|
router.get('/seasons', function(req, res, next) {
|
|
seasons.retrieveAll()
|
|
.then(data => res.json(data));
|
|
})
|
|
|
|
router.get('/genders', function(req, res, next) {
|
|
genders.retrieveBySport(req.query.sport)
|
|
.then(data => res.json(data));
|
|
})
|
|
|
|
router.get('/divisions', function(req, res, next) {
|
|
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));
|
|
})
|
|
|
|
router.get('/division', function(req, res, next) {
|
|
divisions.getFromID(req.query.division)
|
|
.then(data => res.json(data));
|
|
})
|
|
|
|
router.get('/teams', function(req, res, next) {
|
|
teams.retrieve(req.query.sport)
|
|
.then(data => res.json(data));
|
|
})
|
|
|
|
router.get('/team', function(req, res, next) {
|
|
teams.getFromID(req.query.team)
|
|
.then(data => res.json(data));
|
|
})
|
|
|
|
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('/game', function(req, res, next) {
|
|
games.getFromID(req.query.game)
|
|
.then(data => res.json(data));
|
|
})
|
|
|
|
router.get('/accounts', checkLoginStatus.admin, function(req, res, next) {
|
|
accounts.retrieveAll()
|
|
.then(data => res.json(data));
|
|
})
|
|
|
|
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));
|
|
}
|
|
})
|
|
|
|
module.exports = router; |