UNPKG

courtbot-engine

Version:

An engine for courtbot-like functionality to be included in city/county services sites.

103 lines (79 loc) 3.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function (name, options) { var communicationType = "console" + (name || ""); _events2.default.on("query-communication-types", function (types) { return types.push(communicationType); }); var idleQuestion = { type: "list", name: "idle", message: "What would you like to do?", choices: ["Start a new registration", "Check for reminders", "Check for missing cases", new _inquirer2.default.Separator(), "Exit"] }; _events2.default.on("add-routes", function (_ref) { var registrationSource = _ref.registrationSource, messageSource = _ref.messageSource; function idlePrompt() { return _inquirer2.default.prompt([idleQuestion]).then(function (result) { switch (result.idle) { case "Start a new registration": return new Promise(function (resolve) { var conversation = new _conversation2.default(communicationType, registrationSource, messageSource); conversation.on("reply", function (reply, result) { setTimeout(function () { return result.promise = _inquirer2.default.prompt([{ type: "input", name: "reply", message: reply, default: "END" }]).then(function (replyResult) { if (replyResult.reply === "END") { resolve(); return; } conversation.parse(replyResult.reply, "tty"); }); }, 0); }); _inquirer2.default.prompt([{ type: "input", name: "init", message: "Case number" }]).then(function (initial) { return conversation.parse(initial.init, "tty"); }); }); case "Check for reminders": return (0, _sendDueReminders2.default)(options); case "Check for missing cases": return (0, _checkMissingCases2.default)(options); case "Exit": process.exit(0); break; } }).then(idlePrompt); } idlePrompt(); }); _events2.default.on("send-non-reply", function (data) { if (data.communicationType === communicationType) { _log4js2.default.getLogger("console").info(data.msg); } }); }; var _log4js = require("log4js"); var _log4js2 = _interopRequireDefault(_log4js); var _events = require("./events"); var _events2 = _interopRequireDefault(_events); var _conversation = require("./conversation"); var _conversation2 = _interopRequireDefault(_conversation); var _inquirer = require("inquirer"); var _inquirer2 = _interopRequireDefault(_inquirer); var _sendDueReminders = require("./sendDueReminders"); var _sendDueReminders2 = _interopRequireDefault(_sendDueReminders); var _checkMissingCases = require("./checkMissingCases"); var _checkMissingCases2 = _interopRequireDefault(_checkMissingCases); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }