/* * This file is part of the authRXBN single sign-on package. * * (c) Ruben Meyer */ module.exports = { 'command': 'cache [action] [type]', 'description': 'do something with the cache', 'actionDependencies': ['vorpal'], 'action': (actionDependencies) => { let vorpal = actionDependencies.vorpal; return (args, cb) => { if(typeof args.action !== 'undefined') { let action = args.action.toLowerCase(); if(typeof args.type !== 'undefined') { var type = args.type.toLowerCase(); } else { var type = ''; } //Object.keys(args.options).length > 0 if(action == 'help' || action == '?') { vorpal.exec('cache --help'); } else if(action == 'flush') { if(typeof global['gds'].cache[type] !== "undefined") { global['gds'].cache[type] = {}; console.log(type+' cache flush'); } else if(type == 'all') { global['gds'].cache = {}; console.log('full cache flush'); } else vorpal.exec('cache --help'); } else if(action == 'get') { console.log(Object.keys(global['gds'].cache)); console.log(type); console.log(type in Object.keys(global['gds'].cache)); console.log(Object.keys(global['gds'].cache).hasOwnProperty(type)); if(typeof global['gds'].cache[type] !== "undefined") { console.log(JSON.stringify(global['gds'].cache[type])); } else if(type == 'all'){ console.log(JSON.stringify(global['gds'].cache)); } else { console.log("The cache \""+type+"\" doesnt exists."); vorpal.exec('cache --help'); } } else vorpal.exec('cache --help'); } else vorpal.exec('cache --help'); cb(); } } };