/* ---------------------------------------------------------------------------- Question Server GitLab: This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ------------------------------------------------------------------------- */ const express = require('express') const bodyParser = require('body-parser') const busboy = require('connect-busboy') const app = express() const utils = require('../../utils/utils.js') const logger = require('../../utils/logger.js') app.set('view engine', 'ejs') app.set('views', [ './modules/dataEditor/views', './sharedViews' ]) app.use(express.static('modules/dataEditor/public')) app.use(express.static('public')) app.use(busboy({ limits: { fileSize: 10000 * 1024 * 1024 } })) app.use(bodyParser.json()) app.use(bodyParser.urlencoded({ limit: '5mb', extended: true })) app.use(bodyParser.json({ limit: '5mb' })) // -------------------------------------------------------------- function AddHtmlRoutes (files) { const routes = files.reduce((acc, f) => { if (f.includes('html')) { acc.push(f.split('.')[0]) return acc } return acc }, []) routes.forEach((route) => { logger.DebugLog(`Added route /${route}`, 'DataEditor routes', 1) app.get(`/${route}`, function (req, res) { logger.LogReq(req) res.redirect(`${route}.html`) }) }) } AddHtmlRoutes(utils.ReadDir('modules/dataEditor/public')) // -------------------------------------------------------------- app.get('/', function (req, res) { res.end('hai') logger.LogReq(req) }) app.get('*', function (req, res) { res.status(404).render('404') }) app.post('*', function (req, res) { res.status(404).render('404') }) exports.app = app logger.Log('DataEditor module started', logger.GetColor('yellow'))