Files
libreevent/src/server/app.js

69 lines
1.9 KiB
JavaScript

/*
* libreevent - app.js
*
* Created by Janis Hutz 02/26/2023, Licensed under the GPL V3 License
* https://janishutz.com, development@janishutz.com
*
*
*/
const express = require( 'express' );
let app = express();
const path = require( 'path' );
const expressSession = require( 'express-session' );
const bodyParser = require( 'body-parser' );
const cookieParser = require( 'cookie-parser' );
const http = require( 'http' );
const fs = require( 'fs' );
const settings = JSON.parse( fs.readFileSync( path.join( __dirname + '/config/settings.config.json' ) ) );
// const mail = require( './backend/mail/mailSender.js' );
// const mailManager = new mail();
// const dbh = require( './backend/db/mysqldb.js' );
// const db = new dbh();
// db.connect();
// const env = process.env.PROD || false;
// if ( !settings.init ) {
// db.setupDB( 'janishut_libreeventTest' );
// }
// const responseTime = require( 'response-time' );
// app.use( responseTime( ( request, response, time ) => {
// console.log( time );
// } ) );
app.use( express.static( '../webapp/dist' ) );
// app.use( express.static( '.' ) );
// initialise express with middlewares
// TODO: Generate random token
app.use( expressSession( {
secret: 'gaoevgoawefgo083tq2rfvöfaf0p8',
resave: true,
saveUninitialized: true,
cookie: {
sameSite: 'none'
}
} ) );
app.use( bodyParser.urlencoded( { extended: false } ) );
app.use( bodyParser.json() );
app.use( cookieParser() );
require( './admin/routes.js' )( app, settings ); // admin routes
require( './backend/userRoutes.js' )( app, settings ); // user routes
app.use( ( request, response ) => {
console.log( 'index fallback' );
response.sendFile( path.join( __dirname + '/../webapp/dist/index.html' ) );
} );
const PORT = process.env.PORT || 8081;
console.log( 'Server listening on Port ' + PORT );
http.createServer( app ).listen( PORT );