UNPKG

poserver

Version:
73 lines (61 loc) 2.23 kB
/** * Created by tomdaley on 9/18/16. */ "use strict"; /** * C U S T O M E R S U R V E Y */ var prompts = require('./../const/prompts.js'); var myPackage = require('./../package.json'); var mongoUtil = require('./../classes/mongoUtils'); var ObjectId = require('mongodb').ObjectId; var builder = require('botbuilder'); const library = new builder.Library('customerSurvey'); library.dialog('/', [ function (session) { session.send(prompts.sayResponsesSaved); session.send(prompts.sayPleaseTakeSurvey); builder.Prompts.choice(session, prompts.askLikelyToRecommend, prompts.likelihood, session.userData.config.PromptChoiceOptions); }, function (session, results) { var prompt; switch (results.response.index) { case 2: prompt = prompts.askWhatWouldChangeMind; break; case 1: prompt = prompts.askHowToImprove; break; case 0: prompt = prompts.askWhatRefinements; break; } session.userData.feedback = {}; session.userData.feedback.selectedService = session.userData.selectedService; session.userData.feedback.choice = results.response.entity; session.userData.feedback.question = prompt; builder.Prompts.text(session, prompt); }, function (session, results) { session.userData.feedback.response = results.response; session.send(prompts.sayThankYouForFeedback); saveUserFeedback(session); session.endConversation(prompts.sayGoodbye); } ]); function saveUserFeedback(session) { var document = {}; document.feedback = session.userData.feedback; document.user_id = new ObjectId(session.userData.user_id); document.date = (new Date()).toJSON(); document.serverVersion = myPackage.version; mongoUtil.getDb().collection('feedback').insertOne(document); } module.exports = library;