const cache = require('memory-cache') ,Slack = require('./slack.js').Slack; function SlackManager() { } var instance = new SlackManager(); SlackManager.prototype.getScope = function() { return [ "client" ]; }; SlackManager.prototype.lazyGet = function(sess, reqT) { var key = "SLACK_" +sess.sessId ,val = cache.get(key); if (val) { cache.put(key, val, 1000 * 60 * 60 * 24, function(key, val) { instance.removed(key, val); }); } else { val = new Slack(sess); cache.put(key, val, 1000 * 60 * 60 * 24, function(key, val) { instance.removed(key, val); }); } val.onUserInterract(reqT); return val; }; SlackManager.prototype.removed = function(key, slack) { slack.close(); }; module.exports.SlackManager = instance;