UNPKG

pm2-gui-fr

Version:

Une interface web et terminal élégante pour Unitech / PM2.

59 lines (53 loc) 1.56 kB
var _ = require('lodash') var Monitor = require('../../lib/monitor') // Authorization action(function auth (req, res) { if (!req._config.agent || (req._config.agent.authorization === req.session['authorization'])) { return res.redirect('/') } res.render('auth', { title: 'Authorization' }) }) // Index action(function (req, res) { if (req._config.agent && (req._config.agent.authorization !== req.session['authorization'])) { return res.redirect('/auth') } var options = _.clone(req._config) var q = Monitor.available(_.extend(options, { blank: ' ' })) var connections = [] q.choices.forEach(function (c) { c.value = Monitor.toConnectionString(Monitor.parseConnectionString(c.value)) connections.push(c) }) res.render('index', { title: 'Monitor', connections: connections, readonly: !!req._config.readonly }) }) // API action(function auth_api (req, res) { // eslint-disable-line camelcase if (!req._config.agent || !req._config.agent.authorization) { return res.json({ error: 'Agent introuvable[.authorization] config, pas besoin d\'autoriser !!' }) } if (!req.query || !req.query.authorization) { return res.json({ error: 'Une autorisation est requise !!' }) } if (req._config.agent && req.query.authorization === req._config.agent.authorization) { req.session['authorization'] = req.query.authorization return res.json({ status: 200 }) } return res.json({ error: 'Échec, l\'autorisation est incorrecte !!' }) })