poserver
Version:
Server for JD Bot
73 lines (61 loc) • 2.23 kB
JavaScript
/**
* Created by tomdaley on 9/18/16.
*/
;
/**
* 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;