Add nextMenu() @systemMethod, code cleanup, ES6, etc.

This commit is contained in:
Bryan Ashby 2016-06-25 22:43:12 -06:00
parent a5505ea718
commit 0f0e674f97

View file

@ -1,25 +1,23 @@
/* jslint node: true */ /* jslint node: true */
'use strict'; 'use strict';
var theme = require('./theme.js'); // ENiGMA½
var removeClient = require('./client_connections.js').removeClient; const removeClient = require('./client_connections.js').removeClient;
var ansi = require('./ansi_term.js'); const ansiNormal = require('./ansi_term.js').normal;
var userDb = require('./database.js').dbs.user; const userLogin = require('./user_login.js').userLogin;
var sysProp = require('./system_property.js');
var userLogin = require('./user_login.js').userLogin;
var async = require('async'); // deps
var _ = require('lodash'); const _ = require('lodash');
var iconv = require('iconv-lite'); const iconv = require('iconv-lite');
exports.login = login; exports.login = login;
exports.logoff = logoff; exports.logoff = logoff;
exports.prevMenu = prevMenu; exports.prevMenu = prevMenu;
exports.nextMenu = nextMenu;
function login(callingMenu, formData, extraArgs) { function login(callingMenu, formData) {
var client = callingMenu.client;
userLogin(callingMenu.client, formData.value.username, formData.value.password, function authResult(err) { userLogin(callingMenu.client, formData.value.username, formData.value.password, err => {
if(err) { if(err) {
// login failure // login failure
if(err.existingConn && _.has(callingMenu, 'menuConfig.config.tooNodeMenu')) { if(err.existingConn && _.has(callingMenu, 'menuConfig.config.tooNodeMenu')) {
@ -36,32 +34,41 @@ function login(callingMenu, formData, extraArgs) {
}); });
} }
function logoff(callingMenu, formData, extraArgs) { function logoff(callingMenu) {
// //
// Simple logoff. Note that recording of @ logoff properties/stats // Simple logoff. Note that recording of @ logoff properties/stats
// occurs elsewhere! // occurs elsewhere!
// //
var client = callingMenu.client; const client = callingMenu.client;
setTimeout(function timeout() { setTimeout( () => {
// //
// For giggles... // For giggles...
// //
client.term.write( client.term.write(
ansi.normal() + '\n' + ansiNormal() + '\n' +
iconv.decode(require('crypto').randomBytes(Math.floor(Math.random() * 65) + 20), client.term.outputEncoding) + iconv.decode(require('crypto').randomBytes(Math.floor(Math.random() * 65) + 20), client.term.outputEncoding) +
'NO CARRIER', null, function written() { 'NO CARRIER', null, () => {
// after data is written, disconnect & remove the client // after data is written, disconnect & remove the client
removeClient(client); return removeClient(client);
}); }
);
}, 500); }, 500);
} }
function prevMenu(callingMenu, formData, extraArgs) { function prevMenu(callingMenu) {
callingMenu.prevMenu(function result(err) { callingMenu.prevMenu( err => {
if(err) { if(err) {
callingMenu.client.log.error( { error : err.toString() }, 'Error attempting to fallback!'); callingMenu.client.log.error( { error : err.toString() }, 'Error attempting to fallback!');
} }
}); });
} }
function nextMenu(callingMenu) {
callingMenu.nextMenu( err => {
if(err) {
callingMenu.client.log.error( { error : err.toString() }, 'Error attempting to go to next menu!');
}
});
}