Removed unused lines, Fixed up some linting errors, more code documentation, updated some dep versions, and fixed error in package.json

This commit is contained in:
TheGreyDiamond
2021-10-13 14:23:01 +02:00
parent e33a58e5ab
commit 81b9d0b26f
5 changed files with 3750 additions and 578 deletions

View File

@ -10,7 +10,8 @@
"plugin:@typescript-eslint/recommended"
],
"rules": {
"@typescript-eslint/no-var-requires": 0
"@typescript-eslint/no-var-requires": 0,
"no-control-regex": 0
}
}

View File

@ -5,7 +5,6 @@ const Eta = require("eta");
const winston = require("winston");
const mysql = require("mysql");
const bodyParser = require("body-parser");
// const csp = require(`helmet`);
const session = require("express-session");
const nodemailer = require("nodemailer");
@ -32,34 +31,12 @@ logger.add(
const app = express();
/*
app.use(csp.contentSecurityPolicy({
useDefaults: true,
contentSecurityPolicy: false,
crossOriginEmbedderPolicy: false,
directives: {
"default-src": [`'self'`],
"img-src": [`'self'`],
scriptSrc: [`'self'`, `https://hcaptcha.com`, `https://*.hcaptcha.com`, `https://*.fontawesome.com`, "unsafe-inline", "unsafe-eval","'unsafe-inline'"],
"script-src-attr": [`'self'`, `https://hcaptcha.com`, `https://*.hcaptcha.com`, `https://*.fontawesome.com`, "unsafe-inline", "unsafe-eval"],
"frame-src": [`'self'`, `https://hcaptcha.com`, `https://*.hcaptcha.com`],
"style-src": [`'self'`, `https://hcaptcha.com`, `https://*.hcaptcha.com`, `https://*.fontawesome.com`, `'unsafe-inline'`],
"connect-src": [`'self'`, `https://hcaptcha.com`, `https://*.hcaptcha.com`, `https://*.fontawesome.com`],
"font-src": [`'self'`, `https://*.fontawesome.com`],
},
}))
*/
const startUpTime = Math.floor(new Date().getTime() / 1000);
// Skeleton Variables
let fontawesomeKey = "";
let mapboxAccessToken = "";
let mysqlData = { "user": "", "password": "", "database": "", "allowCreation": false };
let hCaptcha = { "sitekey": "", "secret": "" };
let mailConf = { "host": "", "port": 0, "username": "", "password": "" };
let serverAdress = "";
let cookieSecret = ""
@ -94,12 +71,14 @@ try {
);
}
// Express (server) preperation
app.use(express.static("static"));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(session({ secret: cookieSecret }));
app.use(function (req, res, next) {
// PreShow Errorpage handler
const pathesWhichRequireDB = ["map", "login", "register"];
const pathesWhichRequireLogin = ["createElevator"];
const path = req.path
@ -169,9 +148,9 @@ app.use(function (req, res, next) {
} else {
console.log("Stopped further exec of route")
}
})
// Mail preperation
const transport = nodemailer.createTransport({
host: mailConf.host,
port: mailConf.port,
@ -179,15 +158,12 @@ const transport = nodemailer.createTransport({
secure: false,
debug: true,
disableFileAccess: true,
//authMethod: "START TLS",
auth: {
user: mailConf.username,
pass: mailConf.password,
},
});
//let transporter = nodemailer.createTransport(transport)
//console.log(transport.host)
logger.info("Testing SMTP connection");
transport.verify(function (error) {
if (error) {
@ -197,9 +173,6 @@ transport.verify(function (error) {
}
});
app.use(session({ secret: cookieSecret }));
// Basic defines for html
const metainfo = {
author: "TheGreydiamond",
@ -220,8 +193,6 @@ let con = mysql.createConnection({
database: mysqlData.database,
});
function checkIfMySQLStructureIsReady() {
if (mysqlIsUpAndOkay) {
// Only if MySQL is ready
@ -288,7 +259,7 @@ con.connect(function (err) {
});
// Routes
app.get("/", function (req, res) {
app.get("/", function (req, res) { // Index page
const data = fs.readFileSync("templates/index.html", "utf8");
res.send(
Eta.render(data, {
@ -300,7 +271,7 @@ app.get("/", function (req, res) {
);
});
app.get("/map", function (req, res) {
app.get("/map", function (req, res) { // Map page showing all elevators
const data = fs.readFileSync("templates/map.html", "utf8");
res.send(
Eta.render(data, {
@ -314,7 +285,7 @@ app.get("/map", function (req, res) {
});
app.get("/createElevator", function (req, res) {
app.get("/createElevator", function (req, res) { // Page to create a new elvator
const data = fs.readFileSync("templates/createElevator.html", "utf8");
res.send(
Eta.render(data, {
@ -331,9 +302,9 @@ require('./routes/api.route.ts')(app, con, mysqlIsUpAndOkay, logger, metainfo);
require('./routes/debug.route.ts')(app, con, logger, metainfo);
require('./routes/auth.route.ts')(app, con, logger, metainfo, jsonConfigGlobal);
// Some loops for handeling stuff
// Some loops for handeling stuff,
setInterval(() => {
if (mysqlIsUpAndOkay == false) {
if (mysqlIsUpAndOkay == false) { // SQL reconnect
logger.warn("Retrying to connect to MySQL");
con = mysql.createConnection({
host: "localhost",
@ -353,7 +324,7 @@ setInterval(() => {
}
});
}
}, 60000);
}, 60*1000); // Every minute
// App start
app.listen(port, () => {

4261
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -17,19 +17,19 @@
"url": "git+https://github.com/TheGreyDiamond/elevatormapRewritten.git"
},
"author": "TheGreydiamond",
"license": "ISC",
"license": "MIT",
"bugs": {
"url": "https://github.com/TheGreyDiamond/elevatormapRewritten/issues"
},
"homepage": "https://github.com/TheGreyDiamond/elevatormapRewritten#readme",
"homepage": "https://github.com/TheGreyDiamond/elevatormapRewritten",
"dependencies": {
"bcrypt": "^5.0.1",
"body-parser": "^1.19.0",
"eta": "^1.12.2",
"eta": "^1.12.3",
"express": "^4.17.1",
"express-session": "^1.17.2",
"greeting-time": "^1.0.0",
"hcaptcha": "0.0.2",
"hcaptcha": "0.1.0",
"helmet": "^4.6.0",
"multer": "^1.4.2",
"mysql": "^2.18.1",
@ -38,9 +38,9 @@
},
"devDependencies": {
"@types/node": "^16.0.0",
"@typescript-eslint/eslint-plugin": "^4.21.0",
"@typescript-eslint/parser": "^4.21.0",
"eslint": "^7.26.0",
"@typescript-eslint/eslint-plugin": "^4.33.0",
"@typescript-eslint/parser": "^4.33.0",
"eslint": "^7.32.0",
"eslint-config-strongloop": "^2.1.0",
"typescript": "^4.2.4"
}

View File

@ -58,7 +58,6 @@ module.exports = function (app, con, mysqlIsUpAndOkay, logger) {
app.get("/api/resolveNameById", function (req, res) {
if (req.query.id != undefined && req.query.id != "") {
const sql = "SELECT username FROM users WHERE id=?";
con.query(sql, [req.query.id], function (err, result) {
if (err) {