-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathapp.js
More file actions
executable file
·79 lines (62 loc) · 2.46 KB
/
app.js
File metadata and controls
executable file
·79 lines (62 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
(function(process, logger){
'use strict';
const os = require('os'),
express = require('express'),
bodyParser = require('body-parser'),
http = require('http'),
path = require('path'),
mongoose = require('mongoose'),
serveStatic = require('serve-static'),
compress = require('compression'),
Api = require('./api/api'),
models = require('./api/models'),
routes = require('./routes'),
config = require('./config.json');
const app = module.exports = express();
function setProgressMessage(msg){
process.stdout.write(' ' + '\u000d');
process.stdout.write( msg + '\u000d' );
}
app.set('mongosrv', process.env.MONGOSVR || config.mongodb.connectionString );
logger.log('Estableciendo conexión a ' + app.get('mongosrv'));
//Inicialización mongoose
mongoose.Promise = require('q').Promise;
mongoose.connect(app.get('mongosrv'));
mongoose.set('debug', config.mongodb.debug);
models.init(mongoose);
const settingsmodel = models.settings();
process.on('error', function(err){
logger.error(err);
});
settingsmodel.find().sort({'version': -1}).lean().limit(1).exec(function (err, cfgs) {
if (err){
throw err;
}
logger.log('Cargada configuración de forma exitosa');
const tmpdirectory = path.join(__dirname, config.tmpdir) + path.sep;
const cfg = cfgs[0];
cfg.prefixtmp = tmpdirectory;
app.disable('x-powered-by');
app.set('port', process.env.PORT || cfg.port || 6000);
app.set('prefixtmp', tmpdirectory);
app.use(compress());
app.use(serveStatic( path.join(__dirname, config.publicdir )) );
app.use(bodyParser.json({limit: '10mb'}));
const api = new Api(models, cfg, config);
app.use('/api', api.app);
app.post('/logout', function(req, res, next){ res.json({ok: 'ok'}); });
const filetipologin = path.join(__dirname, 'public', 'js', 'login.cas.js');
app.get('/tipologin.js', function (req, res) {
res.sendFile(filetipologin);
});
// redirect all others to the index (HTML5 history)
app.get('/', routes.index);
app.get('*', routes.index);
logger.log('Establecidas las rutas. ');
const server = http.createServer(app);
server.listen(app.get('port'), function () {
require('./api/socketioconsole')(server);
logger.log('Servidor escuchando en puerto ' + app.get('port'));
});
});
})(process, console);