Skip to content

Instantly share code, notes, and snippets.

@srichakradhar
Created March 2, 2018 06:49
Show Gist options
  • Save srichakradhar/1c105b8a7fa9cb371f7a7c32073e40b3 to your computer and use it in GitHub Desktop.
Save srichakradhar/1c105b8a7fa9cb371f7a7c32073e40b3 to your computer and use it in GitHub Desktop.
Middleware for handling adaptive card submits
function adaptiveCardSubmitMiddleware() {
return {
botbuilder: (session, next) => {
console.log(session.message);
// I want them to be able to do this, for now ask they press the button
if(session.message && session.message.text == 'submit'){
session.send("Please use the submit button above");
return;
}
if (session.message && session.message.value) {
var defaultErrorMessage = 'Please provide all required fields';
switch (session.message.value.type) {
case 'createISTicket':
// Search, validate parameters
if (jiraUtils.validateISTicket(session.message.value)) {
// proceed to booking ticket
jiraUtils.createISTicket(session);
session.replaceDialog('/mainDialogue');
} else {
session.send(defaultErrorMessage);
}
break;
case 'cancelTicket':
session.send("OK, we won't create a ticket");
session.replaceDialog('/mainDialogue');
break;
case 'attachFiles':
session.beginDialog('/attachFiles', session);
break;
default:
// A form data was received, invalid or incomplete since the previous validation did not pass
session.send(defaultErrorMessage);
return;
}
} else {
next();
}
}
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment