60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
//environment variables
|
|
require('dotenv').config();
|
|
|
|
//libraries
|
|
let express = require('express');
|
|
let app = express();
|
|
let http = require('http').Server(app);
|
|
let bodyParser = require('body-parser');
|
|
let path = require('path');
|
|
|
|
//utilities
|
|
let { log } = require('../common/utilities.js');
|
|
|
|
app.use(bodyParser.json());
|
|
|
|
//handle the news request
|
|
let news = require('./news.js');
|
|
app.post('/newsrequest', news.newsRequest());
|
|
|
|
//database
|
|
let { connectToDatabase } = require('./database.js');
|
|
let connection = connectToDatabase(); //uses .env
|
|
|
|
//handle accounts
|
|
let accounts = require('./accounts.js');
|
|
app.post('/signup', accounts.signup(connection));
|
|
app.get('/verify', accounts.verify(connection));
|
|
app.post('/login', accounts.login(connection));
|
|
app.post('/logout', accounts.logout(connection));
|
|
app.post('/passwordchange', accounts.passwordChange(connection));
|
|
app.post('/passwordrecover', accounts.passwordRecover(connection));
|
|
app.post('/passwordreset', accounts.passwordReset(connection));
|
|
|
|
//handle profiles
|
|
let profiles = require('./profiles.js');
|
|
app.post('/profilerequest', profiles.profileRequest(connection));
|
|
app.post('/recruit', profiles.recruit(connection));
|
|
app.post('/train', profiles.train(connection));
|
|
app.post('/untrain', profiles.untrain(connection));
|
|
app.post('/ladderrequest', profiles.ladderRequest(connection));
|
|
profiles.runGoldTick(connection);
|
|
|
|
//static directories
|
|
app.use('/styles', express.static(path.resolve(__dirname + '/../public/styles')) );
|
|
app.use('/img', express.static(path.resolve(__dirname + '/../public/img')) );
|
|
|
|
//the app file
|
|
app.get('/app.bundle.js', (req, res) => {
|
|
res.sendFile(path.resolve(__dirname + '/../public/app.bundle.js'));
|
|
});
|
|
|
|
//fallback
|
|
app.get('*', (req, res) => {
|
|
res.sendFile(path.resolve(__dirname + '/../public/index.html'));
|
|
});
|
|
|
|
//startup
|
|
http.listen(4000, () => {
|
|
log('listening to *:4000');
|
|
}); |