1
0

Builds and starting to run

Signed-off-by: James Ketrenos <james.p.ketrenos@intel.com>
This commit is contained in:
James Ketrenos 2020-04-20 14:15:21 -07:00
parent ddc9eccfc7
commit be7b047862
20 changed files with 216 additions and 1882 deletions

2
.gitignore vendored
View File

@ -3,4 +3,4 @@
node_modules
package-lock.json
dist/*
*.db

View File

@ -1,6 +1,25 @@
{
"http": {
"base": "ketr.ketran",
"port": 8930
"db": {
"games": {
"dialect": "sqlite",
"storage": "../db/photos.db",
"logging" : false,
"timezone": "+00:00"
},
"users": {
"dialect": "sqlite",
"storage": "../db/users.db",
"logging" : false,
"timezone": "+00:00"
}
},
"server": {
"port": 8911
},
"frontendPath": "./",
"basePath": "/ketr.ketran",
"sessions": {
"db": "sessions.db",
"store-secret": "m@g1kc00ki3z!"
}
}

10
config/local.json Normal file → Executable file
View File

@ -1,5 +1,9 @@
{
"tokens": [ {
"jketreno": "1MhGsldnwNkH9d2s-yu8fxZ0JcHCpClY"
} ]
"admin": {
"mail": "james_ketran@ketrenos.com"
},
"smtp": {
"host": "ketrenos.com",
"sender": "james_ketran@ketrenos.com"
}
}

6
f/.gitignore vendored
View File

@ -1,6 +0,0 @@
!.gitignore
!package.json
node_modules
config/local.json
package-lock.json
*.log

View File

@ -1,31 +0,0 @@
{
"name": "ketr.ketran",
"version": "1.0.0",
"description": "Peddlers of Ketran: REST API",
"main": "index.html",
"scripts": {
"start": "NODE_CONFIG_ENV='devel' node server/app.js",
"backend": "NODE_CONFIG_ENV='production' node server/app.js"
},
"repository": "ssh://git@gitlab.ketrenos.com:/jketreno/ketr.ketran",
"author": "James Ketrenos <james_ketran@ketrenos.com>",
"license": "MIT",
"private": true,
"dependencies": {
"bluebird": "^3.5.5",
"config": "^3.1.0",
"connect-sqlite3": "^0.9.11",
"cookie-parser": "^1.4.4",
"express": "^4.17.1",
"express-session": "^1.17.1",
"handlebars": "^4.7.6",
"moment": "^2.24.0",
"morgan": "^1.9.1",
"node-fetch": "^2.6.0",
"node-gzip": "^1.1.2",
"nodemailer": "^6.3.0",
"sequelize": "^5.21.6",
"sqlite3": "^4.1.1"
},
"devDependencies": {}
}

4
index.html Normal file → Executable file
View File

@ -1,6 +1,10 @@
<html>
<head>
<meta charset="utf-8">
<meta
name="viewport"
content="minimum-scale=1, initial-scale=1, width=device-width"
/>
<link rel="icon" href="../assets/favicon-32.png" sizes="32x32">
<link rel="icon" href="../assets/favicon-57.png" sizes="57x57">
<link rel="icon" href="../assets/favicon-76.png" sizes="76x76">

25
package.json Normal file → Executable file
View File

@ -4,8 +4,6 @@
"description": "Settlers",
"main": "index.html",
"scripts": {
"start": "NODE_CONFIG_ENV='devel' node server/app.js",
"backend": "NODE_CONFIG_ENV='production' node server/app.js"
"start": "webpack-dev-server --mode development --host 0.0.0.0 --config webpack.dev.js",
"build": "webpack --config webpack.prod.js",
"watch": "webpack --config webpack.prod.js --watch",
@ -16,16 +14,22 @@
"license": "MIT",
"private": true,
"dependencies": {
"@material-ui/core": "^4.9.11",
"animakit-expander": "^2.1.4",
"bluebird": "^3.5.5",
"bootstrap": "^4.4.1",
"config": "^3.1.0",
"connect-sqlite3": "^0.9.11",
"cookie-parser": "^1.4.4",
"core-js": "^3.2.1",
"express": "^4.17.1",
"express-session": "^1.17.1",
"googleapis": "^40.0.0",
"handlebars": "^4.7.6",
"jira-connector": "^2.10.0",
"moment": "^2.24.0",
"morgan": "^1.9.1",
"node-fetch": "^2.6.0",
"node-gzip": "^1.1.2",
"nodemailer": "^6.3.0",
"react-app-polyfill": "^1.0.2",
@ -34,21 +38,10 @@
"react-markdown": "^4.2.2",
"react-router-dom": "^5.0.1",
"react-scroll": "^1.7.14",
"react-syntax-highlighter": "^11.0.2"
"bluebird": "^3.5.5",
"config": "^3.1.0",
"connect-sqlite3": "^0.9.11",
"cookie-parser": "^1.4.4",
"express": "^4.17.1",
"express-session": "^1.17.1",
"handlebars": "^4.7.6",
"moment": "^2.24.0",
"morgan": "^1.9.1",
"node-fetch": "^2.6.0",
"node-gzip": "^1.1.2",
"nodemailer": "^6.3.0",
"react-syntax-highlighter": "^11.0.2",
"sequelize": "^5.21.6",
"sqlite3": "^4.1.1"
"sqlite3": "^4.1.1",
"typeface-roboto": "0.0.75"
},
"devDependencies": {
"@babel/cli": "^7.1.0",

View File

@ -10,12 +10,11 @@ const express = require("express"),
config = require("config"),
session = require('express-session'),
hb = require("handlebars"),
SQLiteStore = require('connect-sqlite3')(session),
scanner = require("./scanner");
SQLiteStore = require('connect-sqlite3')(session);
require("./console-line.js"); /* Monkey-patch console.log with line numbers */
const frontEndPath = config.get("frontendPath").replace(/\/$/, "") + "/",
const frontendPath = config.get("frontendPath").replace(/\/$/, "") + "/",
serverConfig = config.get("server");
let basePath = config.get("basePath");
@ -26,6 +25,8 @@ if (basePath == "//") {
console.log("Hosting server from: " + basePath);
let userDB, gameDB;
const app = express();
app.set("basePath", basePath);
@ -37,7 +38,7 @@ app.set("trust proxy", true);
app.use(basePath, require("./routes/basepath.js"));
/* Handle static files first so excessive logging doesn't occur */
app.use(basePath, express.static("frontend", { index: false }));
app.use(basePath, express.static(frontendPath, { index: false }));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
@ -236,6 +237,7 @@ const users = require("./routes/users");
app.use(basePath + "api/v1/users", users.router);
app.use(function(err, req, res, next) {
console.error(err.message);
res.status(err.status || 500).json({
message: err.message,
error: {}
@ -271,7 +273,7 @@ app.set("port", serverConfig.port);
const server = require("http").createServer(app);
require("./db/games").then(function(db) {
gamesDB = db;
gameDB = db;
}).then(function() {
return require("./db/users").then(function(db) {
userDB = db;

Binary file not shown.

44
server/db/games.js Executable file
View File

@ -0,0 +1,44 @@
"use strict";
const fs = require('fs'),
path = require('path'),
Sequelize = require('sequelize'),
config = require('config');
function init() {
const db = {
sequelize: new Sequelize(config.get("db.games")),
Sequelize: Sequelize
};
return db.sequelize.authenticate().then(function () {
const Game = db.sequelize.define('game', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
path: Sequelize.STRING,
name: Sequelize.STRING,
}, {
timestamps: false,
classMethods: {
associate: function() {
}
}
});
return db.sequelize.sync({
force: false
}).then(function () {
return db;
});
}).catch(function (error) {
console.log("ERROR: Failed to authenticate with GAMES DB");
console.log("ERROR: " + JSON.stringify(config.get("db"), null, 2));
console.log(error);
throw error;
});
}
module.exports = init();

70
server/db/users.js Executable file
View File

@ -0,0 +1,70 @@
"use strict";
const Sequelize = require('sequelize'),
config = require('config');
function init() {
const db = {
sequelize: new Sequelize(config.get("db.users")),
Sequelize: Sequelize
};
return db.sequelize.authenticate().then(function () {
const User = db.sequelize.define('users', {
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
displayName: Sequelize.STRING,
notes: Sequelize.STRING,
uid: Sequelize.STRING,
authToken: Sequelize.STRING,
authDate: Sequelize.DATE,
authenticated: Sequelize.BOOLEAN,
mailVerified: Sequelize.BOOLEAN,
mail: Sequelize.STRING,
memberSince: Sequelize.DATE,
password: Sequelize.STRING, /* SHA hash of user supplied password */
passwordExpires: Sequelize.DATE
}, {
timestamps: false
});
const Authentication = db.sequelize.define('authentication', {
key: {
type: Sequelize.STRING,
primaryKey: true,
allowNull: false
},
issued: Sequelize.DATE,
type: {
type: Sequelize.ENUM,
values: [ 'account-setup', 'password-reset' ]
},
userId: {
type: Sequelize.INTEGER,
allowNull: false,
references: {
model: User,
key: 'id',
}
}
}, {
timestamps: false
});
return db.sequelize.sync({
force: false
}).then(function () {
return db;
});
}).catch(function (error) {
console.log("ERROR: Failed to authenticate with USER DB");
console.log("ERROR: " + JSON.stringify(config.get("db"), null, 2));
console.log(error);
throw error;
});
}
module.exports = init();

View File

@ -1,512 +0,0 @@
/*
EasterB - What date does Easter Sunday come on in a given year?
Version 1.23, last revised: 2007/07/22
Copyright (c) 1981-2007 by author: Harry J. Smith,
19628 Via Monte Dr., Saratoga CA 95070. All rights reserved.
Will write file: EasterB.Out for years 1875 - 2124
Gregorian Calendar
Easter Sunday: 1875 3/28 Western 4/25 Orthodox (April 13 Julian date)
Easter Sunday: 1876 4/16 Western Same Orthodox (April 4 Julian date)
Easter Sunday: 1877 4/ 1 Western 4/ 8 Orthodox (March 27 Julian date)
Easter Sunday: 1878 4/21 Western 4/28 Orthodox (April 16 Julian date)
Easter Sunday: 1879 4/13 Western Same Orthodox (April 1 Julian date)
Easter Sunday: 1880 3/28 Western 5/ 2 Orthodox (April 20 Julian date)
Easter Sunday: 1881 4/17 Western 4/24 Orthodox (April 12 Julian date)
Easter Sunday: 1882 4/ 9 Western Same Orthodox (March 28 Julian date)
Easter Sunday: 1883 3/25 Western 4/29 Orthodox (April 17 Julian date)
Easter Sunday: 1884 4/13 Western 4/20 Orthodox (April 8 Julian date)
Easter Sunday: 1885 4/ 5 Western Same Orthodox (March 24 Julian date)
Easter Sunday: 1886 4/25 Western Same Orthodox (April 13 Julian date)
Easter Sunday: 1887 4/10 Western 4/17 Orthodox (April 5 Julian date)
Easter Sunday: 1888 4/ 1 Western 5/ 6 Orthodox (April 24 Julian date)
Easter Sunday: 1889 4/21 Western Same Orthodox (April 9 Julian date)
Easter Sunday: 1890 4/ 6 Western 4/13 Orthodox (April 1 Julian date)
Easter Sunday: 1891 3/29 Western 5/ 3 Orthodox (April 21 Julian date)
Easter Sunday: 1892 4/17 Western Same Orthodox (April 5 Julian date)
Easter Sunday: 1893 4/ 2 Western 4/ 9 Orthodox (March 28 Julian date)
Easter Sunday: 1894 3/25 Western 4/29 Orthodox (April 17 Julian date)
Easter Sunday: 1895 4/14 Western Same Orthodox (April 2 Julian date)
Easter Sunday: 1896 4/ 5 Western Same Orthodox (March 24 Julian date)
Easter Sunday: 1897 4/18 Western 4/25 Orthodox (April 13 Julian date)
Easter Sunday: 1898 4/10 Western 4/17 Orthodox (April 5 Julian date)
Easter Sunday: 1899 4/ 2 Western 4/30 Orthodox (April 18 Julian date)
Easter Sunday: 1900 4/15 Western 4/22 Orthodox (April 9 Julian date)
Easter Sunday: 1901 4/ 7 Western 4/14 Orthodox (April 1 Julian date)
Easter Sunday: 1902 3/30 Western 4/27 Orthodox (April 14 Julian date)
Easter Sunday: 1903 4/12 Western 4/19 Orthodox (April 6 Julian date)
Easter Sunday: 1904 4/ 3 Western 4/10 Orthodox (March 28 Julian date)
Easter Sunday: 1905 4/23 Western 4/30 Orthodox (April 17 Julian date)
Easter Sunday: 1906 4/15 Western Same Orthodox (April 2 Julian date)
Easter Sunday: 1907 3/31 Western 5/ 5 Orthodox (April 22 Julian date)
Easter Sunday: 1908 4/19 Western 4/26 Orthodox (April 13 Julian date)
Easter Sunday: 1909 4/11 Western Same Orthodox (March 29 Julian date)
Easter Sunday: 1910 3/27 Western 5/ 1 Orthodox (April 18 Julian date)
Easter Sunday: 1911 4/16 Western 4/23 Orthodox (April 10 Julian date)
Easter Sunday: 1912 4/ 7 Western Same Orthodox (March 25 Julian date)
Easter Sunday: 1913 3/23 Western 4/27 Orthodox (April 14 Julian date)
Easter Sunday: 1914 4/12 Western 4/19 Orthodox (April 6 Julian date)
Easter Sunday: 1915 4/ 4 Western Same Orthodox (March 22 Julian date)
Easter Sunday: 1916 4/23 Western Same Orthodox (April 10 Julian date)
Easter Sunday: 1917 4/ 8 Western 4/15 Orthodox (April 2 Julian date)
Easter Sunday: 1918 3/31 Western 5/ 5 Orthodox (April 22 Julian date)
Easter Sunday: 1919 4/20 Western Same Orthodox (April 7 Julian date)
Easter Sunday: 1920 4/ 4 Western 4/11 Orthodox (March 29 Julian date)
Easter Sunday: 1921 3/27 Western 5/ 1 Orthodox (April 18 Julian date)
Easter Sunday: 1922 4/16 Western Same Orthodox (April 3 Julian date)
Easter Sunday: 1923 4/ 1 Western 4/ 8 Orthodox (March 26 Julian date)
Easter Sunday: 1924 4/20 Western 4/27 Orthodox (April 14 Julian date)
Easter Sunday: 1925 4/12 Western 4/19 Orthodox (April 6 Julian date)
Easter Sunday: 1926 4/ 4 Western 5/ 2 Orthodox (April 19 Julian date)
Easter Sunday: 1927 4/17 Western 4/24 Orthodox (April 11 Julian date)
Easter Sunday: 1928 4/ 8 Western 4/15 Orthodox (April 2 Julian date)
Easter Sunday: 1929 3/31 Western 5/ 5 Orthodox (April 22 Julian date)
Easter Sunday: 1930 4/20 Western Same Orthodox (April 7 Julian date)
Easter Sunday: 1931 4/ 5 Western 4/12 Orthodox (March 30 Julian date)
Easter Sunday: 1932 3/27 Western 5/ 1 Orthodox (April 18 Julian date)
Easter Sunday: 1933 4/16 Western Same Orthodox (April 3 Julian date)
Easter Sunday: 1934 4/ 1 Western 4/ 8 Orthodox (March 26 Julian date)
Easter Sunday: 1935 4/21 Western 4/28 Orthodox (April 15 Julian date)
Easter Sunday: 1936 4/12 Western Same Orthodox (March 30 Julian date)
Easter Sunday: 1937 3/28 Western 5/ 2 Orthodox (April 19 Julian date)
Easter Sunday: 1938 4/17 Western 4/24 Orthodox (April 11 Julian date)
Easter Sunday: 1939 4/ 9 Western Same Orthodox (March 27 Julian date)
Easter Sunday: 1940 3/24 Western 4/28 Orthodox (April 15 Julian date)
Easter Sunday: 1941 4/13 Western 4/20 Orthodox (April 7 Julian date)
Easter Sunday: 1942 4/ 5 Western Same Orthodox (March 23 Julian date)
Easter Sunday: 1943 4/25 Western Same Orthodox (April 12 Julian date)
Easter Sunday: 1944 4/ 9 Western 4/16 Orthodox (April 3 Julian date)
Easter Sunday: 1945 4/ 1 Western 5/ 6 Orthodox (April 23 Julian date)
Easter Sunday: 1946 4/21 Western Same Orthodox (April 8 Julian date)
Easter Sunday: 1947 4/ 6 Western 4/13 Orthodox (March 31 Julian date)
Easter Sunday: 1948 3/28 Western 5/ 2 Orthodox (April 19 Julian date)
Easter Sunday: 1949 4/17 Western 4/24 Orthodox (April 11 Julian date)
Easter Sunday: 1950 4/ 9 Western Same Orthodox (March 27 Julian date)
Easter Sunday: 1951 3/25 Western 4/29 Orthodox (April 16 Julian date)
Easter Sunday: 1952 4/13 Western 4/20 Orthodox (April 7 Julian date)
Easter Sunday: 1953 4/ 5 Western Same Orthodox (March 23 Julian date)
Easter Sunday: 1954 4/18 Western 4/25 Orthodox (April 12 Julian date)
Easter Sunday: 1955 4/10 Western 4/17 Orthodox (April 4 Julian date)
Easter Sunday: 1956 4/ 1 Western 5/ 6 Orthodox (April 23 Julian date)
Easter Sunday: 1957 4/21 Western Same Orthodox (April 8 Julian date)
Easter Sunday: 1958 4/ 6 Western 4/13 Orthodox (March 31 Julian date)
Easter Sunday: 1959 3/29 Western 5/ 3 Orthodox (April 20 Julian date)
Easter Sunday: 1960 4/17 Western Same Orthodox (April 4 Julian date)
Easter Sunday: 1961 4/ 2 Western 4/ 9 Orthodox (March 27 Julian date)
Easter Sunday: 1962 4/22 Western 4/29 Orthodox (April 16 Julian date)
Easter Sunday: 1963 4/14 Western Same Orthodox (April 1 Julian date)
Easter Sunday: 1964 3/29 Western 5/ 3 Orthodox (April 20 Julian date)
Easter Sunday: 1965 4/18 Western 4/25 Orthodox (April 12 Julian date)
Easter Sunday: 1966 4/10 Western Same Orthodox (March 28 Julian date)
Easter Sunday: 1967 3/26 Western 4/30 Orthodox (April 17 Julian date)
Easter Sunday: 1968 4/14 Western 4/21 Orthodox (April 8 Julian date)
Easter Sunday: 1969 4/ 6 Western 4/13 Orthodox (March 31 Julian date)
Easter Sunday: 1970 3/29 Western 4/26 Orthodox (April 13 Julian date)
Easter Sunday: 1971 4/11 Western 4/18 Orthodox (April 5 Julian date)
Easter Sunday: 1972 4/ 2 Western 4/ 9 Orthodox (March 27 Julian date)
Easter Sunday: 1973 4/22 Western 4/29 Orthodox (April 16 Julian date)
Easter Sunday: 1974 4/14 Western Same Orthodox (April 1 Julian date)
Easter Sunday: 1975 3/30 Western 5/ 4 Orthodox (April 21 Julian date)
Easter Sunday: 1976 4/18 Western 4/25 Orthodox (April 12 Julian date)
Easter Sunday: 1977 4/10 Western Same Orthodox (March 28 Julian date)
Easter Sunday: 1978 3/26 Western 4/30 Orthodox (April 17 Julian date)
Easter Sunday: 1979 4/15 Western 4/22 Orthodox (April 9 Julian date)
Easter Sunday: 1980 4/ 6 Western Same Orthodox (March 24 Julian date)
Easter Sunday: 1981 4/19 Western 4/26 Orthodox (April 13 Julian date)
Easter Sunday: 1982 4/11 Western 4/18 Orthodox (April 5 Julian date)
Easter Sunday: 1983 4/ 3 Western 5/ 8 Orthodox (April 25 Julian date)
Easter Sunday: 1984 4/22 Western Same Orthodox (April 9 Julian date)
Easter Sunday: 1985 4/ 7 Western 4/14 Orthodox (April 1 Julian date)
Easter Sunday: 1986 3/30 Western 5/ 4 Orthodox (April 21 Julian date)
Easter Sunday: 1987 4/19 Western Same Orthodox (April 6 Julian date)
Easter Sunday: 1988 4/ 3 Western 4/10 Orthodox (March 28 Julian date)
Easter Sunday: 1989 3/26 Western 4/30 Orthodox (April 17 Julian date)
Easter Sunday: 1990 4/15 Western Same Orthodox (April 2 Julian date)
Easter Sunday: 1991 3/31 Western 4/ 7 Orthodox (March 25 Julian date)
Easter Sunday: 1992 4/19 Western 4/26 Orthodox (April 13 Julian date)
Easter Sunday: 1993 4/11 Western 4/18 Orthodox (April 5 Julian date)
Easter Sunday: 1994 4/ 3 Western 5/ 1 Orthodox (April 18 Julian date)
Easter Sunday: 1995 4/16 Western 4/23 Orthodox (April 10 Julian date)
Easter Sunday: 1996 4/ 7 Western 4/14 Orthodox (April 1 Julian date)
Easter Sunday: 1997 3/30 Western 4/27 Orthodox (April 14 Julian date)
Easter Sunday: 1998 4/12 Western 4/19 Orthodox (April 6 Julian date)
Easter Sunday: 1999 4/ 4 Western 4/11 Orthodox (March 29 Julian date)
Easter Sunday: 2000 4/23 Western 4/30 Orthodox (April 17 Julian date)
Easter Sunday: 2001 4/15 Western Same Orthodox (April 2 Julian date)
Easter Sunday: 2002 3/31 Western 5/ 5 Orthodox (April 22 Julian date)
Easter Sunday: 2003 4/20 Western 4/27 Orthodox (April 14 Julian date)
Easter Sunday: 2004 4/11 Western Same Orthodox (March 29 Julian date)
Easter Sunday: 2005 3/27 Western 5/ 1 Orthodox (April 18 Julian date)
Easter Sunday: 2006 4/16 Western 4/23 Orthodox (April 10 Julian date)
Easter Sunday: 2007 4/ 8 Western Same Orthodox (March 26 Julian date)
Easter Sunday: 2008 3/23 Western 4/27 Orthodox (April 14 Julian date)
Easter Sunday: 2009 4/12 Western 4/19 Orthodox (April 6 Julian date)
Easter Sunday: 2010 4/ 4 Western Same Orthodox (March 22 Julian date)
Easter Sunday: 2011 4/24 Western Same Orthodox (April 11 Julian date)
Easter Sunday: 2012 4/ 8 Western 4/15 Orthodox (April 2 Julian date)
Easter Sunday: 2013 3/31 Western 5/ 5 Orthodox (April 22 Julian date)
Easter Sunday: 2014 4/20 Western Same Orthodox (April 7 Julian date)
Easter Sunday: 2015 4/ 5 Western 4/12 Orthodox (March 30 Julian date)
Easter Sunday: 2016 3/27 Western 5/ 1 Orthodox (April 18 Julian date)
Easter Sunday: 2017 4/16 Western Same Orthodox (April 3 Julian date)
Easter Sunday: 2018 4/ 1 Western 4/ 8 Orthodox (March 26 Julian date)
Easter Sunday: 2019 4/21 Western 4/28 Orthodox (April 15 Julian date)
Easter Sunday: 2020 4/12 Western 4/19 Orthodox (April 6 Julian date)
Easter Sunday: 2021 4/ 4 Western 5/ 2 Orthodox (April 19 Julian date)
Easter Sunday: 2022 4/17 Western 4/24 Orthodox (April 11 Julian date)
Easter Sunday: 2023 4/ 9 Western 4/16 Orthodox (April 3 Julian date)
Easter Sunday: 2024 3/31 Western 5/ 5 Orthodox (April 22 Julian date)
Easter Sunday: 2025 4/20 Western Same Orthodox (April 7 Julian date)
Easter Sunday: 2026 4/ 5 Western 4/12 Orthodox (March 30 Julian date)
Easter Sunday: 2027 3/28 Western 5/ 2 Orthodox (April 19 Julian date)
Easter Sunday: 2028 4/16 Western Same Orthodox (April 3 Julian date)
Easter Sunday: 2029 4/ 1 Western 4/ 8 Orthodox (March 26 Julian date)
Easter Sunday: 2030 4/21 Western 4/28 Orthodox (April 15 Julian date)
Easter Sunday: 2031 4/13 Western Same Orthodox (March 31 Julian date)
Easter Sunday: 2032 3/28 Western 5/ 2 Orthodox (April 19 Julian date)
Easter Sunday: 2033 4/17 Western 4/24 Orthodox (April 11 Julian date)
Easter Sunday: 2034 4/ 9 Western Same Orthodox (March 27 Julian date)
Easter Sunday: 2035 3/25 Western 4/29 Orthodox (April 16 Julian date)
Easter Sunday: 2036 4/13 Western 4/20 Orthodox (April 7 Julian date)
Easter Sunday: 2037 4/ 5 Western Same Orthodox (March 23 Julian date)
Easter Sunday: 2038 4/25 Western Same Orthodox (April 12 Julian date)
Easter Sunday: 2039 4/10 Western 4/17 Orthodox (April 4 Julian date)
Easter Sunday: 2040 4/ 1 Western 5/ 6 Orthodox (April 23 Julian date)
Easter Sunday: 2041 4/21 Western Same Orthodox (April 8 Julian date)
Easter Sunday: 2042 4/ 6 Western 4/13 Orthodox (March 31 Julian date)
Easter Sunday: 2043 3/29 Western 5/ 3 Orthodox (April 20 Julian date)
Easter Sunday: 2044 4/17 Western 4/24 Orthodox (April 11 Julian date)
Easter Sunday: 2045 4/ 9 Western Same Orthodox (March 27 Julian date)
Easter Sunday: 2046 3/25 Western 4/29 Orthodox (April 16 Julian date)
Easter Sunday: 2047 4/14 Western 4/21 Orthodox (April 8 Julian date)
Easter Sunday: 2048 4/ 5 Western Same Orthodox (March 23 Julian date)
Easter Sunday: 2049 4/18 Western 4/25 Orthodox (April 12 Julian date)
Easter Sunday: 2050 4/10 Western 4/17 Orthodox (April 4 Julian date)
Easter Sunday: 2051 4/ 2 Western 5/ 7 Orthodox (April 24 Julian date)
Easter Sunday: 2052 4/21 Western Same Orthodox (April 8 Julian date)
Easter Sunday: 2053 4/ 6 Western 4/13 Orthodox (March 31 Julian date)
Easter Sunday: 2054 3/29 Western 5/ 3 Orthodox (April 20 Julian date)
Easter Sunday: 2055 4/18 Western Same Orthodox (April 5 Julian date)
Easter Sunday: 2056 4/ 2 Western 4/ 9 Orthodox (March 27 Julian date)
Easter Sunday: 2057 4/22 Western 4/29 Orthodox (April 16 Julian date)
Easter Sunday: 2058 4/14 Western Same Orthodox (April 1 Julian date)
Easter Sunday: 2059 3/30 Western 5/ 4 Orthodox (April 21 Julian date)
Easter Sunday: 2060 4/18 Western 4/25 Orthodox (April 12 Julian date)
Easter Sunday: 2061 4/10 Western Same Orthodox (March 28 Julian date)
Easter Sunday: 2062 3/26 Western 4/30 Orthodox (April 17 Julian date)
Easter Sunday: 2063 4/15 Western 4/22 Orthodox (April 9 Julian date)
Easter Sunday: 2064 4/ 6 Western 4/13 Orthodox (March 31 Julian date)
Easter Sunday: 2065 3/29 Western 4/26 Orthodox (April 13 Julian date)
Easter Sunday: 2066 4/11 Western 4/18 Orthodox (April 5 Julian date)
Easter Sunday: 2067 4/ 3 Western 4/10 Orthodox (March 28 Julian date)
Easter Sunday: 2068 4/22 Western 4/29 Orthodox (April 16 Julian date)
Easter Sunday: 2069 4/14 Western Same Orthodox (April 1 Julian date)
Easter Sunday: 2070 3/30 Western 5/ 4 Orthodox (April 21 Julian date)
Easter Sunday: 2071 4/19 Western Same Orthodox (April 6 Julian date)
Easter Sunday: 2072 4/10 Western Same Orthodox (March 28 Julian date)
Easter Sunday: 2073 3/26 Western 4/30 Orthodox (April 17 Julian date)
Easter Sunday: 2074 4/15 Western 4/22 Orthodox (April 9 Julian date)
Easter Sunday: 2075 4/ 7 Western Same Orthodox (March 25 Julian date)
Easter Sunday: 2076 4/19 Western 4/26 Orthodox (April 13 Julian date)
Easter Sunday: 2077 4/11 Western 4/18 Orthodox (April 5 Julian date)
Easter Sunday: 2078 4/ 3 Western 5/ 8 Orthodox (April 25 Julian date)
Easter Sunday: 2079 4/23 Western Same Orthodox (April 10 Julian date)
Easter Sunday: 2080 4/ 7 Western 4/14 Orthodox (April 1 Julian date)
Easter Sunday: 2081 3/30 Western 5/ 4 Orthodox (April 21 Julian date)
Easter Sunday: 2082 4/19 Western Same Orthodox (April 6 Julian date)
Easter Sunday: 2083 4/ 4 Western 4/11 Orthodox (March 29 Julian date)
Easter Sunday: 2084 3/26 Western 4/30 Orthodox (April 17 Julian date)
Easter Sunday: 2085 4/15 Western Same Orthodox (April 2 Julian date)
Easter Sunday: 2086 3/31 Western 4/ 7 Orthodox (March 25 Julian date)
Easter Sunday: 2087 4/20 Western 4/27 Orthodox (April 14 Julian date)
Easter Sunday: 2088 4/11 Western 4/18 Orthodox (April 5 Julian date)
Easter Sunday: 2089 4/ 3 Western 5/ 1 Orthodox (April 18 Julian date)
Easter Sunday: 2090 4/16 Western 4/23 Orthodox (April 10 Julian date)
Easter Sunday: 2091 4/ 8 Western Same Orthodox (March 26 Julian date)
Easter Sunday: 2092 3/30 Western 4/27 Orthodox (April 14 Julian date)
Easter Sunday: 2093 4/12 Western 4/19 Orthodox (April 6 Julian date)
Easter Sunday: 2094 4/ 4 Western 4/11 Orthodox (March 29 Julian date)
Easter Sunday: 2095 4/24 Western Same Orthodox (April 11 Julian date)
Easter Sunday: 2096 4/15 Western Same Orthodox (April 2 Julian date)
Easter Sunday: 2097 3/31 Western 5/ 5 Orthodox (April 22 Julian date)
Easter Sunday: 2098 4/20 Western 4/27 Orthodox (April 14 Julian date)
Easter Sunday: 2099 4/12 Western Same Orthodox (March 30 Julian date)
Easter Sunday: 2100 3/28 Western 5/ 2 Orthodox (April 18 Julian date)
Easter Sunday: 2101 4/17 Western 4/24 Orthodox (April 10 Julian date)
Easter Sunday: 2102 4/ 9 Western Same Orthodox (March 26 Julian date)
Easter Sunday: 2103 3/25 Western 4/29 Orthodox (April 15 Julian date)
Easter Sunday: 2104 4/13 Western 4/20 Orthodox (April 6 Julian date)
Easter Sunday: 2105 4/ 5 Western Same Orthodox (March 22 Julian date)
Easter Sunday: 2106 4/18 Western 4/25 Orthodox (April 11 Julian date)
Easter Sunday: 2107 4/10 Western 4/17 Orthodox (April 3 Julian date)
Easter Sunday: 2108 4/ 1 Western 5/ 6 Orthodox (April 22 Julian date)
Easter Sunday: 2109 4/21 Western Same Orthodox (April 7 Julian date)
Easter Sunday: 2110 4/ 6 Western 4/13 Orthodox (March 30 Julian date)
Easter Sunday: 2111 3/29 Western 5/ 3 Orthodox (April 19 Julian date)
Easter Sunday: 2112 4/17 Western Same Orthodox (April 3 Julian date)
Easter Sunday: 2113 4/ 2 Western 4/ 9 Orthodox (March 26 Julian date)
Easter Sunday: 2114 4/22 Western 4/29 Orthodox (April 15 Julian date)
Easter Sunday: 2115 4/14 Western Same Orthodox (March 31 Julian date)
Easter Sunday: 2116 3/29 Western 5/ 3 Orthodox (April 19 Julian date)
Easter Sunday: 2117 4/18 Western 4/25 Orthodox (April 11 Julian date)
Easter Sunday: 2118 4/10 Western 4/17 Orthodox (April 3 Julian date)
Easter Sunday: 2119 3/26 Western 4/30 Orthodox (April 16 Julian date)
Easter Sunday: 2120 4/14 Western 4/21 Orthodox (April 7 Julian date)
Easter Sunday: 2121 4/ 6 Western 4/13 Orthodox (March 30 Julian date)
Easter Sunday: 2122 3/29 Western 5/ 3 Orthodox (April 19 Julian date)
Easter Sunday: 2123 4/11 Western 4/18 Orthodox (April 4 Julian date)
Easter Sunday: 2124 4/ 2 Western 4/ 9 Orthodox (March 26 Julian date)
*/
module.exports = {
"1875": "1875-04-25",
"1876": "1876-04-16",
"1877": "1877-04-08",
"1878": "1878-04-28",
"1879": "1879-04-13",
"1880": "1880-05-02",
"1881": "1881-04-24",
"1882": "1882-04-09",
"1883": "1883-04-29",
"1884": "1884-04-20",
"1885": "1885-04-05",
"1886": "1886-04-25",
"1887": "1887-04-17",
"1888": "1888-05-06",
"1889": "1889-04-21",
"1890": "1890-04-13",
"1891": "1891-05-03",
"1892": "1892-04-17",
"1893": "1893-04-09",
"1894": "1894-04-29",
"1895": "1895-04-14",
"1896": "1896-04-05",
"1897": "1897-04-25",
"1898": "1898-04-17",
"1899": "1899-04-30",
"1900": "1900-04-22",
"1901": "1901-04-14",
"1902": "1902-04-27",
"1903": "1903-04-19",
"1904": "1904-04-10",
"1905": "1905-04-30",
"1906": "1906-04-15",
"1907": "1907-05-05",
"1908": "1908-04-26",
"1909": "1909-04-11",
"1910": "1910-05-01",
"1911": "1911-04-23",
"1912": "1912-04-07",
"1913": "1913-04-27",
"1914": "1914-04-19",
"1915": "1915-04-04",
"1916": "1916-04-23",
"1917": "1917-04-15",
"1918": "1918-05-05",
"1919": "1919-04-20",
"1920": "1920-04-11",
"1921": "1921-05-01",
"1922": "1922-04-16",
"1923": "1923-04-08",
"1924": "1924-04-27",
"1925": "1925-04-19",
"1926": "1926-05-02",
"1927": "1927-04-24",
"1928": "1928-04-15",
"1929": "1929-05-05",
"1930": "1930-04-20",
"1931": "1931-04-12",
"1932": "1932-05-01",
"1933": "1933-04-16",
"1934": "1934-04-08",
"1935": "1935-04-28",
"1936": "1936-04-12",
"1937": "1937-05-02",
"1938": "1938-04-24",
"1939": "1939-04-09",
"1940": "1940-04-28",
"1941": "1941-04-20",
"1942": "1942-04-05",
"1943": "1943-04-25",
"1944": "1944-04-16",
"1945": "1945-05-06",
"1946": "1946-04-21",
"1947": "1947-04-13",
"1948": "1948-05-02",
"1949": "1949-04-24",
"1950": "1950-04-09",
"1951": "1951-04-29",
"1952": "1952-04-20",
"1953": "1953-04-05",
"1954": "1954-04-25",
"1955": "1955-04-17",
"1956": "1956-05-06",
"1957": "1957-04-21",
"1958": "1958-04-13",
"1959": "1959-05-03",
"1960": "1960-04-17",
"1961": "1961-04-09",
"1962": "1962-04-29",
"1963": "1963-04-14",
"1964": "1964-05-03",
"1965": "1965-04-25",
"1966": "1966-04-10",
"1967": "1967-04-30",
"1968": "1968-04-21",
"1969": "1969-04-13",
"1970": "1970-04-26",
"1971": "1971-04-18",
"1972": "1972-04-09",
"1973": "1973-04-29",
"1974": "1974-04-14",
"1975": "1975-05-04",
"1976": "1976-04-25",
"1977": "1977-04-10",
"1978": "1978-04-30",
"1979": "1979-04-22",
"1980": "1980-04-06",
"1981": "1981-04-26",
"1982": "1982-04-18",
"1983": "1983-05-08",
"1984": "1984-04-22",
"1985": "1985-04-14",
"1986": "1986-05-04",
"1987": "1987-04-19",
"1988": "1988-04-10",
"1989": "1989-04-30",
"1990": "1990-04-15",
"1991": "1991-04-07",
"1992": "1992-04-26",
"1993": "1993-04-18",
"1994": "1994-05-01",
"1995": "1995-04-23",
"1996": "1996-04-14",
"1997": "1997-04-27",
"1998": "1998-04-19",
"1999": "1999-04-11",
"2000": "2000-04-30",
"2001": "2001-04-15",
"2002": "2002-05-05",
"2003": "2003-04-27",
"2004": "2004-04-11",
"2005": "2005-05-01",
"2006": "2006-04-23",
"2007": "2007-04-08",
"2008": "2008-04-27",
"2009": "2009-04-19",
"2010": "2010-04-04",
"2011": "2011-04-24",
"2012": "2012-04-15",
"2013": "2013-05-05",
"2014": "2014-04-20",
"2015": "2015-04-12",
"2016": "2016-05-01",
"2017": "2017-04-16",
"2018": "2018-04-08",
"2019": "2019-04-28",
"2020": "2020-04-19",
"2021": "2021-05-02",
"2022": "2022-04-24",
"2023": "2023-04-16",
"2024": "2024-05-05",
"2025": "2025-04-20",
"2026": "2026-04-12",
"2027": "2027-05-02",
"2028": "2028-04-16",
"2029": "2029-04-08",
"2030": "2030-04-28",
"2031": "2031-04-13",
"2032": "2032-05-02",
"2033": "2033-04-24",
"2034": "2034-04-09",
"2035": "2035-04-29",
"2036": "2036-04-20",
"2037": "2037-04-05",
"2038": "2038-04-25",
"2039": "2039-04-17",
"2040": "2040-05-06",
"2041": "2041-04-21",
"2042": "2042-04-13",
"2043": "2043-05-03",
"2044": "2044-04-24",
"2045": "2045-04-09",
"2046": "2046-04-29",
"2047": "2047-04-21",
"2048": "2048-04-05",
"2049": "2049-04-25",
"2050": "2050-04-17",
"2051": "2051-05-07",
"2052": "2052-04-21",
"2053": "2053-04-13",
"2054": "2054-05-03",
"2055": "2055-04-18",
"2056": "2056-04-09",
"2057": "2057-04-29",
"2058": "2058-04-14",
"2059": "2059-05-04",
"2060": "2060-04-25",
"2061": "2061-04-10",
"2062": "2062-04-30",
"2063": "2063-04-22",
"2064": "2064-04-13",
"2065": "2065-04-26",
"2066": "2066-04-18",
"2067": "2067-04-10",
"2068": "2068-04-29",
"2069": "2069-04-14",
"2070": "2070-05-04",
"2071": "2071-04-19",
"2072": "2072-04-10",
"2073": "2073-04-30",
"2074": "2074-04-22",
"2075": "2075-04-07",
"2076": "2076-04-26",
"2077": "2077-04-18",
"2078": "2078-05-08",
"2079": "2079-04-23",
"2080": "2080-04-14",
"2081": "2081-05-04",
"2082": "2082-04-19",
"2083": "2083-04-11",
"2084": "2084-04-30",
"2085": "2085-04-15",
"2086": "2086-04-07",
"2087": "2087-04-27",
"2088": "2088-04-18",
"2089": "2089-05-01",
"2090": "2090-04-23",
"2091": "2091-04-08",
"2092": "2092-04-27",
"2093": "2093-04-19",
"2094": "2094-04-11",
"2095": "2095-04-24",
"2096": "2096-04-15",
"2097": "2097-05-05",
"2098": "2098-04-27",
"2099": "2099-04-12",
"2100": "2100-05-02",
"2101": "2101-04-24",
"2102": "2102-04-09",
"2103": "2103-04-29",
"2104": "2104-04-20",
"2105": "2105-04-05",
"2106": "2106-04-25",
"2107": "2107-04-17",
"2108": "2108-05-06",
"2109": "2109-04-21",
"2110": "2110-04-13",
"2111": "2111-05-03",
"2112": "2112-04-17",
"2113": "2113-04-09",
"2114": "2114-04-29",
"2115": "2115-04-14",
"2116": "2116-05-03",
"2117": "2117-04-25",
"2118": "2118-04-17",
"2119": "2119-04-30",
"2120": "2120-04-21",
"2121": "2121-04-13",
"2122": "2122-05-03",
"2123": "2123-04-18",
"2124": "2124-04-09",
};

View File

@ -1,116 +0,0 @@
//! moment-holiday.js locale configuration
//! locale : pascha Related Holidays
//! author : Kodie Grantham : https://github.com/kodie
//(function() {
// var moment = (typeof require !== 'undefined' && require !== null) && !require.amd ? require('moment') : this.moment;
function init(moment) {
// moment.holidays.pascha = {
moment.modifyHolidays.add({
"Lent": {
date: 'pascha-46|pascha-3'
},
/*
"Holy Monday": {
date: 'pascha-6',
keywords_y: ['great', 'monday']
},
"Holy Tuesday": {
date: 'pascha-5',
keywords_y: ['great', 'tuesday']
},
"Holy Wednesday": {
date: 'pascha-4',
keywords_y: ['great', 'wednesday']
},
"Holy Thursday": {
date: 'pascha-3',
keywords_y: ['great', 'thursday']
},
"Holy Friday": {
date: 'pascha-2',
keywords_y: ['great', 'friday']
},
"Holy Saturday": {
date: 'pascha-1',
keywords_y: ['holy', 'saturday']
},
*/
"Pascha Sunday": {
date: 'pascha',
keywords_y: ['pascha'],
keywords: ['sunday']
},
"Bright Week": {
date: 'pascha+1|pascha+6'
},
"Pentecost Sunday": {
date: 'pascha+49',
keywords_y: ['pentecost'],
keywords: ['sunday']
},
//};
});
/*
const orthodoxDates = require("./pascha-dates.js");
var pascha = function(year) {
var date = orthodoxDates[year].split("-");
date[1] -= 1; // month needs to be zero index
return moment(date);
}
*/
/**
* Calculates Easter in the Gregorian/Western (Catholic and Protestant) calendar
* based on the algorithm by Oudin (1940) from http://www.tondering.dk/claus/cal/easter.php
* @returns {array} [int month, int day]
*/
var pascha = function(year) {
var f = Math.floor,
// Golden Number - 1
G = year % 19,
C = f(year / 100),
// related to Epact
H = (C-f(C / 4) - f((8 * C + 13)/25) + 19 * G + 15) % 30,
// number of days from 21 March to the Paschal full moon
I = H - f(H/28) * (1 - f(29/(H + 1)) * f((21-G)/11)),
// weekday for the Paschal full moon
J = (year + f(year / 4) + I + 2 - C + f(C / 4)) % 7,
// number of days from 21 March to the Sunday on or before the Paschal full moon
L = I - J,
month = 3 + f((L + 40)/44),
day = L + 28 - 31 * f(month / 4);
return moment([year, (month - 1),day]);
}
moment.modifyHolidays.extendParser(function(m, date){
if (~date.indexOf('pascha')) {
var dates = date.split('|');
var ds = [];
for (var i = 0; i < dates.length; i++) {
if (dates[i].substring(0, 6) === 'pascha') {
var e = pascha(m.year());
if (dates[i].charAt(6) === '-') { e.subtract(dates[i].substring(7), 'days'); }
if (dates[i].charAt(6) === '+') { e.add(dates[i].substring(7), 'days'); }
if (dates.length === 1) { return e; }
ds.push(e.format('M/D'));
} else {
ds.push(dates[i]);
}
}
if (ds.length) { return ds.join('|'); }
}
});
}
module.exports = init;
// if ((typeof module !== 'undefined' && module !== null ? module.exports : void 0) != null) { module.exports = moment; }
//}).call(this);

1014
server/routes/games.js Normal file → Executable file

File diff suppressed because it is too large Load Diff

6
server/routes/index.js Normal file → Executable file
View File

@ -2,7 +2,8 @@
const express = require("express"),
fs = require("fs"),
url = require("url");
url = require("url"),
config = require("config");
const router = express.Router();
@ -45,7 +46,8 @@ router.get("/*", function(req, res, next) {
/* Replace <script>'<base href="/BASEPATH/">';</script> in index.html with
* the basePath */
const index = fs.readFileSync("frontend/index.html", "utf8");
const frontendPath = config.get("frontendPath").replace(/\/$/, "") + "/",
index = fs.readFileSync(frontendPath + "/index.html", "utf8");
res.send(index.replace(
/<script>'<base href="BASEPATH">';<\/script>/,

117
server/routes/users.js Normal file → Executable file
View File

@ -2,7 +2,6 @@
const express = require("express"),
config = require("config"),
LdapAuth = require("ldapauth-fork"),
{ sendVerifyMail, sendPasswordChangedMail } = require("../lib/mail"),
crypto = require("crypto");
@ -10,14 +9,7 @@ const router = express.Router();
let userDB;
let ldap;
if (config.has("ldap.url")) {
ldap = new LdapAuth(config.get("ldap"));
} else {
ldap = null;
}
require("../db/users").then(function(db) {
require("../db/users.js").then(function(db) {
userDB = db;
});
@ -31,59 +23,6 @@ router.get("/", function(req, res/*, next*/) {
});
});
function ldapPromise(username, password) {
if (!ldap) {
return Promise.reject("LDAP not being used");
}
return new Promise(function(resolve, reject) {
ldap.authenticate(username.replace(/@.*$/, ""), password, function(error, user) {
if (error) {
return reject(error);
}
return resolve(user);
});
});
}
const ldapJS = require("ldapjs"),
ldapConfig = config.get("ldap");
const ldapSetPassword = function(username, password) {
const client = ldapJS.createClient({
url: ldapConfig.url
});
return new Promise(function(resolve, reject) {
client.bind(ldapConfig.bindDn, ldapConfig.bindCredentials, function(err) {
if (err) {
return reject("Error binding to LDAP: " + err);
}
var change = new ldapJS.Change({
operation: "replace",
modification: {
userPassword : password,
}
});
client.modify("uid=" + username + ",ou=people," + ldapConfig.searchBase, change, function(err) {
if (err) {
return reject("Error changing password: " + err);
}
return resolve();
});
});
}).catch(function(error) {
console.error(error);
}).then(function() {
client.unbind(function(err) {
if (err) {
console.error("Error unbinding: " + err);
}
});
});
};
router.put("/password", function(req, res) {
console.log("/users/password");
@ -102,15 +41,6 @@ router.put("/password", function(req, res) {
}
return getSessionUser(req).then(function(user) {
if (req.session.userId == "LDAP") {
return ldapPromise(user.username, changes.currentPassword).then(function() {
return user;
}).catch(function() {
return null;
});
}
/* Not an LDAP user, so query in the DB */
return userDB.sequelize.query("SELECT id FROM users " +
"WHERE uid=:username AND password=:password", {
replacements: {
@ -133,19 +63,12 @@ router.put("/password", function(req, res) {
return null;
}
let updatePromise;
if (req.session.userId == "LDAP") {
updatePromise = ldapSetPassword(user.username, changes.newPassword);
} else {
updatePromise = userDB.sequelize.query("UPDATE users SET password=:password WHERE uid=:username", {
return userDB.sequelize.query("UPDATE users SET password=:password WHERE uid=:username", {
replacements: {
username: user.username,
password: crypto.createHash('sha256').update(changes.newPassword).digest('base64')
}
});
}
updatePromise.then(function() {
}).then(function() {
console.log("Password changed for user " + user.username + " to '" + changes.newPassword + "'.");
res.status(200).send(user);
@ -212,15 +135,6 @@ const getSessionUser = function(req) {
throw "Unauthorized. You must be logged in.";
}
if (req.session.userId == "LDAP") {
if (req.session.ldapUser) {
return req.session.ldapUser;
}
req.session.userId = null;
req.session.ldapUser = null;
throw "Invalid LDAP session";
}
let query = "SELECT " +
"uid AS username,displayName,mailVerified,authenticated,memberSince AS name,mail " +
"FROM users WHERE id=:id";
@ -311,22 +225,8 @@ router.post("/login", function(req, res) {
return res.status(400).send("Missing username and/or password");
}
/* We use LDAP as the primary authenticator; if the user is not
* found there, we look the user up in the site-specific user database */
return ldapPromise(username, password).then(function(ldap) {
let user = {};
user.id = "LDAP";
user.displayName = ldap.displayName;
user.username = ldap.uid;
user.mail = ldap.mail;
user.authenticated = 1;
user.mailVerified = 1;
req.session.userId = "LDAP";
req.session.ldapUser = user;
return user;
}).catch(function() {
console.log("User not found in LDAP. Looking up in DB.");
return new Promise((reject, resolve) => {
console.log("Looking up user in DB.");
let query = "SELECT " +
"id,mailVerified,authenticated,uid AS username,displayName AS name,mail " +
"FROM users WHERE uid=:username AND password=:password";
@ -338,11 +238,11 @@ router.post("/login", function(req, res) {
type: userDB.Sequelize.QueryTypes.SELECT
}).then(function(users) {
if (users.length != 1) {
return null;
return resolve(null);
}
let user = users[0];
req.session.userId = user.id;
return user;
return resolve(user);
});
}).then(function(user) {
if (!user) {
@ -373,9 +273,6 @@ router.get("/logout", function(req, res) {
console.log("/users/logout");
if (req.session && req.session.userId) {
if (req.session.userId == "LDAP") {
req.session.ldapUser = null;
}
req.session.userId = null;
}
res.status(200).send({});

Binary file not shown.

View File

@ -7,74 +7,18 @@ import 'core-js/features/number/is-nan';
/* App starts here */
import React from "react";
import { withRouter, NavLink, Route, Switch } from "react-router-dom";
import Modal from "react-bootstrap/Modal";
import Button from "react-bootstrap/Button";
import Button from '@material-ui/core/Button';
import AppBar from '@material-ui/core/AppBar';
import Toolbar from '@material-ui/core/Toolbar';
import IconButton from '@material-ui/core/IconButton';
import Typography from '@material-ui/core/Typography';
import "bootstrap/dist/css/bootstrap.min.css";
//import 'typeface-roboto';
import Board from "./Board.js";
import './modest.css';
import "./App.css";
class Header extends React.Component {
constructor(props) {
super(props);
}
componentDidMount() {
}
render() {
return (
<div className="Header">
<div className="Group">
<Logo/>
<div className="Heading">
<div className="Subtitle">Visual Technology Team</div>
<div className="Title">Software Solutions</div>
</div>
</div>
<div className="Pages">
<NavLink className="Link" activeClassName="Highlight" key="drivers" to="/drivers">Drivers</NavLink>
<NavLink className="Link" activeClassName="Highlight" key="solutions" to="/solutions">Solutions</NavLink>
<NavLink className="Link" activeClassName="Highlight" key="technologies" to="/technologies">Technologies</NavLink>
<NavLink className="Link" activeClassName="Highlight" key="releases" to="/releases">Releases</NavLink>
<NavLink className="Link" activeClassName="Highlight" key="internal" to="/internal">Internal Info</NavLink>
</div>
</div>
);
}
}
class Logo extends React.Component {
render() {
return <NavLink to="/"><div className="Logo"></div></NavLink>
}
}
class Footer extends React.Component {
constructor(props) {
super(props);
this.toggleDebug = this.toggleDebug.bind(this);
}
toggleDebug() {
if (window.location.search.match(/debug/)) {
window.location.search = "";
} else {
window.location.search = "debug";
}
}
render() {
return (
<div className="Footer">
<div className="Lizard" onClick={this.toggleDebug}></div>
</div>
);
}
}
function noChange() {};
class App extends React.Component {
@ -98,11 +42,21 @@ class App extends React.Component {
return (
<div className="App" ref={ ref => (this.app = ref) }>
{ /* <Header/> */ }
<AppBar position="static">
<Toolbar>
<IconButton edge="start" color="inherit" aria-label="menu">
Test
</IconButton>
<Typography variant="h6">
News
</Typography>
<Button color="inherit">Login</Button>
</Toolbar>
</AppBar>
<div className="Body">
<Toolbar/>
<Board/>
</div>
{ /* <Footer/> */ }
</div>
);
}

View File

@ -7,8 +7,8 @@ module.exports = merge(common, {
mode: "development",
devServer: {
contentBase: path.join(__dirname, "/"),
port: 8930,
publicPath: "http://localhost:8930/dist/",
port: 1130,
publicPath: "http://localhost:8911/dist/",
hotOnly: true,
disableHostCheck: true,
historyApiFallback: true