This repository has been archived on 2026-04-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
kingdombattles/server/index.js
T
2019-05-25 21:39:42 +10:00

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');
});