mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-28 14:04:43 -04:00
app.ts: Use let/const instead of var, fix sequelize import
Signed-off-by: David Mehren <dmehren1@gmail.com>
This commit is contained in:
parent
8c662a1f41
commit
522d92a9a1
1 changed files with 42 additions and 42 deletions
84
lib/app.ts
84
lib/app.ts
|
@ -1,54 +1,54 @@
|
||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
import { Revision } from "./models/revision"
|
import { Revision } from "./models/revision"
|
||||||
|
import { sequelize } from './models'
|
||||||
|
|
||||||
// app
|
// app
|
||||||
// external modules
|
// external modules
|
||||||
var express = require('express')
|
const express = require('express');
|
||||||
|
|
||||||
var ejs = require('ejs')
|
const ejs = require('ejs');
|
||||||
var passport = require('passport')
|
const passport = require('passport');
|
||||||
var methodOverride = require('method-override')
|
const methodOverride = require('method-override');
|
||||||
var cookieParser = require('cookie-parser')
|
const cookieParser = require('cookie-parser');
|
||||||
var compression = require('compression')
|
const compression = require('compression');
|
||||||
var session = require('express-session')
|
const session = require('express-session');
|
||||||
var SequelizeStore = require('connect-session-sequelize')(session.Store)
|
const SequelizeStore = require('connect-session-sequelize')(session.Store);
|
||||||
var fs = require('fs')
|
const fs = require('fs');
|
||||||
var path = require('path')
|
const path = require('path');
|
||||||
|
|
||||||
var morgan = require('morgan')
|
const morgan = require('morgan');
|
||||||
var passportSocketIo = require('passport.socketio')
|
const passportSocketIo = require('passport.socketio');
|
||||||
var helmet = require('helmet')
|
const helmet = require('helmet');
|
||||||
var i18n = require('i18n')
|
const i18n = require('i18n');
|
||||||
var flash = require('connect-flash')
|
const flash = require('connect-flash');
|
||||||
|
|
||||||
// core
|
// core
|
||||||
var config = require('./config')
|
const config = require('./config');
|
||||||
var logger = require('./logger')
|
const logger = require('./logger');
|
||||||
var errors = require('./errors')
|
const errors = require('./errors');
|
||||||
var models = require('./models')
|
const csp = require('./csp');
|
||||||
var csp = require('./csp')
|
|
||||||
|
|
||||||
// server setup
|
// server setup
|
||||||
var app = express()
|
const app = express();
|
||||||
var server: any = null
|
let server: any = null;
|
||||||
if (config.useSSL) {
|
if (config.useSSL) {
|
||||||
var ca = (function () {
|
const ca = (function () {
|
||||||
var i, len, results
|
let i, len, results;
|
||||||
results = []
|
results = []
|
||||||
for (i = 0, len = config.sslCAPath.length; i < len; i++) {
|
for (i = 0, len = config.sslCAPath.length; i < len; i++) {
|
||||||
results.push(fs.readFileSync(config.sslCAPath[i], 'utf8'))
|
results.push(fs.readFileSync(config.sslCAPath[i], 'utf8'))
|
||||||
}
|
}
|
||||||
return results
|
return results
|
||||||
})()
|
})();
|
||||||
var options = {
|
const options = {
|
||||||
key: fs.readFileSync(config.sslKeyPath, 'utf8'),
|
key: fs.readFileSync(config.sslKeyPath, 'utf8'),
|
||||||
cert: fs.readFileSync(config.sslCertPath, 'utf8'),
|
cert: fs.readFileSync(config.sslCertPath, 'utf8'),
|
||||||
ca: ca,
|
ca: ca,
|
||||||
dhparam: fs.readFileSync(config.dhParamPath, 'utf8'),
|
dhparam: fs.readFileSync(config.dhParamPath, 'utf8'),
|
||||||
requestCert: false,
|
requestCert: false,
|
||||||
rejectUnauthorized: false
|
rejectUnauthorized: false
|
||||||
}
|
};
|
||||||
server = require('https').createServer(options, app)
|
server = require('https').createServer(options, app)
|
||||||
} else {
|
} else {
|
||||||
server = require('http').createServer(app)
|
server = require('http').createServer(app)
|
||||||
|
@ -60,14 +60,14 @@ app.use(morgan('combined', {
|
||||||
}))
|
}))
|
||||||
|
|
||||||
// socket io
|
// socket io
|
||||||
var io = require('socket.io')(server)
|
const io = require('socket.io')(server);
|
||||||
io.engine.ws = new (require('ws').Server)({
|
io.engine.ws = new (require('ws').Server)({
|
||||||
noServer: true,
|
noServer: true,
|
||||||
perMessageDeflate: false
|
perMessageDeflate: false
|
||||||
})
|
})
|
||||||
|
|
||||||
// others
|
// others
|
||||||
var realtime = require('./realtime.js')
|
const realtime = require('./realtime');
|
||||||
|
|
||||||
// assign socket io to realtime
|
// assign socket io to realtime
|
||||||
realtime.io = io
|
realtime.io = io
|
||||||
|
@ -76,9 +76,9 @@ realtime.io = io
|
||||||
app.use(methodOverride('_method'))
|
app.use(methodOverride('_method'))
|
||||||
|
|
||||||
// session store
|
// session store
|
||||||
var sessionStore = new SequelizeStore({
|
const sessionStore = new SequelizeStore({
|
||||||
db: models.sequelize
|
db: sequelize
|
||||||
})
|
});
|
||||||
|
|
||||||
// compression
|
// compression
|
||||||
app.use(compression())
|
app.use(compression())
|
||||||
|
@ -148,7 +148,7 @@ app.use(session({
|
||||||
}))
|
}))
|
||||||
|
|
||||||
// session resumption
|
// session resumption
|
||||||
var tlsSessionStore = {}
|
const tlsSessionStore = {};
|
||||||
server.on('newSession', function (id, data, cb) {
|
server.on('newSession', function (id, data, cb) {
|
||||||
tlsSessionStore[id.toString('hex')] = data
|
tlsSessionStore[id.toString('hex')] = data
|
||||||
cb()
|
cb()
|
||||||
|
@ -239,12 +239,12 @@ io.sockets.on('connection', realtime.connection)
|
||||||
|
|
||||||
// listen
|
// listen
|
||||||
function startListen () {
|
function startListen () {
|
||||||
var address
|
let address;
|
||||||
var listenCallback = function () {
|
const listenCallback = function () {
|
||||||
var schema = config.useSSL ? 'HTTPS' : 'HTTP'
|
const schema = config.useSSL ? 'HTTPS' : 'HTTP';
|
||||||
logger.info('%s Server listening at %s', schema, address)
|
logger.info('%s Server listening at %s', schema, address)
|
||||||
realtime.maintenance = false
|
realtime.maintenance = false
|
||||||
}
|
};
|
||||||
|
|
||||||
// use unix domain socket if 'path' is specified
|
// use unix domain socket if 'path' is specified
|
||||||
if (config.path) {
|
if (config.path) {
|
||||||
|
@ -257,7 +257,7 @@ function startListen () {
|
||||||
}
|
}
|
||||||
|
|
||||||
// sync db then start listen
|
// sync db then start listen
|
||||||
models.sequelize.authenticate().then(function () {
|
sequelize.authenticate().then(function () {
|
||||||
// check if realtime is ready
|
// check if realtime is ready
|
||||||
if (realtime.isReady()) {
|
if (realtime.isReady()) {
|
||||||
Revision.checkAllNotesRevision(function (err, notes) {
|
Revision.checkAllNotesRevision(function (err, notes) {
|
||||||
|
@ -283,7 +283,7 @@ function handleTermSignals () {
|
||||||
realtime.maintenance = true
|
realtime.maintenance = true
|
||||||
// disconnect all socket.io clients
|
// disconnect all socket.io clients
|
||||||
Object.keys(io.sockets.sockets).forEach(function (key) {
|
Object.keys(io.sockets.sockets).forEach(function (key) {
|
||||||
var socket = io.sockets.sockets[key]
|
const socket = io.sockets.sockets[key];
|
||||||
// notify client server going into maintenance status
|
// notify client server going into maintenance status
|
||||||
socket.emit('maintenance')
|
socket.emit('maintenance')
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
|
@ -293,9 +293,9 @@ function handleTermSignals () {
|
||||||
if (config.path) {
|
if (config.path) {
|
||||||
fs.unlink(config.path)
|
fs.unlink(config.path)
|
||||||
}
|
}
|
||||||
var checkCleanTimer = setInterval(function () {
|
const checkCleanTimer = setInterval(function () {
|
||||||
if (realtime.isReady()) {
|
if (realtime.isReady()) {
|
||||||
models.Revision.checkAllNotesRevision(function (err, notes) {
|
Revision.checkAllNotesRevision(function (err, notes) {
|
||||||
if (err) return logger.error(err)
|
if (err) return logger.error(err)
|
||||||
if (!notes || notes.length <= 0) {
|
if (!notes || notes.length <= 0) {
|
||||||
clearInterval(checkCleanTimer)
|
clearInterval(checkCleanTimer)
|
||||||
|
@ -303,7 +303,7 @@ function handleTermSignals () {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}, 100)
|
}, 100);
|
||||||
}
|
}
|
||||||
process.on('SIGINT', handleTermSignals)
|
process.on('SIGINT', handleTermSignals)
|
||||||
process.on('SIGTERM', handleTermSignals)
|
process.on('SIGTERM', handleTermSignals)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue