|
|
@ -15,11 +15,11 @@ var _isDebug = process.env.NODE_ENV === 'development'; |
|
|
|
global.winston = require('winston'); |
|
|
|
winston.remove(winston.transports.Console) |
|
|
|
winston.add(winston.transports.Console, { |
|
|
|
level: (_isDebug) ? 'info' : 'warn', |
|
|
|
prettyPrint: true, |
|
|
|
colorize: true, |
|
|
|
silent: false, |
|
|
|
timestamp: true |
|
|
|
level: (_isDebug) ? 'info' : 'warn', |
|
|
|
prettyPrint: true, |
|
|
|
colorize: true, |
|
|
|
silent: false, |
|
|
|
timestamp: true |
|
|
|
}); |
|
|
|
|
|
|
|
// ----------------------------------------
|
|
|
@ -39,6 +39,7 @@ global.internalAuth = require('./lib/internalAuth').init(process.argv[2]);; |
|
|
|
winston.info('[WS] WS Server is initializing...'); |
|
|
|
|
|
|
|
var appconfig = require('./models/config')('./config.yml'); |
|
|
|
let lcdata = require('./models/localdata').init(appconfig, true); |
|
|
|
|
|
|
|
global.entries = require('./models/entries').init(appconfig); |
|
|
|
global.mark = require('./models/markdown'); |
|
|
@ -66,7 +67,7 @@ global.app = express(); |
|
|
|
// ----------------------------------------
|
|
|
|
|
|
|
|
app.get('/', function(req, res){ |
|
|
|
res.send('Requarks Wiki WebSocket server'); |
|
|
|
res.send('Requarks Wiki WebSocket server'); |
|
|
|
}); |
|
|
|
|
|
|
|
// ----------------------------------------
|
|
|
@ -80,41 +81,45 @@ var server = http.Server(app); |
|
|
|
var io = socketio(server); |
|
|
|
|
|
|
|
server.on('error', (error) => { |
|
|
|
if (error.syscall !== 'listen') { |
|
|
|
throw error; |
|
|
|
} |
|
|
|
|
|
|
|
switch (error.code) { |
|
|
|
case 'EACCES': |
|
|
|
console.error('Listening on port ' + appconfig.port + ' requires elevated privileges!'); |
|
|
|
process.exit(1); |
|
|
|
break; |
|
|
|
case 'EADDRINUSE': |
|
|
|
console.error('Port ' + appconfig.port + ' is already in use!'); |
|
|
|
process.exit(1); |
|
|
|
break; |
|
|
|
default: |
|
|
|
throw error; |
|
|
|
} |
|
|
|
if (error.syscall !== 'listen') { |
|
|
|
throw error; |
|
|
|
} |
|
|
|
|
|
|
|
switch (error.code) { |
|
|
|
case 'EACCES': |
|
|
|
console.error('Listening on port ' + appconfig.port + ' requires elevated privileges!'); |
|
|
|
process.exit(1); |
|
|
|
break; |
|
|
|
case 'EADDRINUSE': |
|
|
|
console.error('Port ' + appconfig.port + ' is already in use!'); |
|
|
|
process.exit(1); |
|
|
|
break; |
|
|
|
default: |
|
|
|
throw error; |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
server.listen(appconfig.wsPort, () => { |
|
|
|
winston.info('[WS] WebSocket server started successfully! [RUNNING]'); |
|
|
|
winston.info('[WS] WebSocket server started successfully! [RUNNING]'); |
|
|
|
}); |
|
|
|
|
|
|
|
io.on('connection', (socket) => { |
|
|
|
|
|
|
|
//-----------------------------------------
|
|
|
|
// SEARCH
|
|
|
|
//-----------------------------------------
|
|
|
|
|
|
|
|
socket.on('searchAdd', (data) => { |
|
|
|
if(internalAuth.validateKey(data.auth)) { |
|
|
|
search.add(data.content); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
socket.on('searchDel', (data, cb) => { |
|
|
|
if(internalAuth.validateKey(data.auth)) { |
|
|
|
search.delete(data.entryPath); |
|
|
|
} |
|
|
|
}); |
|
|
|
socket.on('searchDel', (data, cb) => { |
|
|
|
if(internalAuth.validateKey(data.auth)) { |
|
|
|
search.delete(data.entryPath); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
socket.on('search', (data, cb) => { |
|
|
|
search.find(data.terms).then((results) => { |
|
|
@ -122,11 +127,25 @@ io.on('connection', (socket) => { |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
}); |
|
|
|
//-----------------------------------------
|
|
|
|
// UPLOADS
|
|
|
|
//-----------------------------------------
|
|
|
|
|
|
|
|
socket.on('uploadsSetFolders', (data, cb) => { |
|
|
|
if(internalAuth.validateKey(data.auth)) { |
|
|
|
lcdata.setUploadsFolders(data.content); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
socket.on('uploadsGetFolders', (data, cb) => { |
|
|
|
cb(lcdata.getUploadsFolders()); |
|
|
|
}); |
|
|
|
|
|
|
|
/*setTimeout(() => { |
|
|
|
search._si.searchAsync({ query: { AND: [{'*': ['unit']}] }}).then((stuff) => { console.log(stuff.hits); }); |
|
|
|
}, 8000);*/ |
|
|
|
socket.on('uploadsGetImages', (data, cb) => { |
|
|
|
cb([]); |
|
|
|
}); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
// ----------------------------------------
|
|
|
|
// Shutdown gracefully
|
|
|
|