sharepointalex 2580f55829 Fix for invalid response in AddMovie Intent
Rebuild new array of returned movies with minimum required movie data to
fix invalid response on Echo devices (due to response size limitation).
2016-10-28 23:30:06 -04:00

66 lines
1.5 KiB
JavaScript

function buildPrompt(movies) {
var promptData = {
searchResults: movies,
yesAction : 'addMovie',
yesResponse: 'Added ' + movies[0].original_title + ' (' + movies[0].year + ')' + ' to your list of movies to download.'
};
if (movies.length > 1) {
promptData.noAction = 'suggestNextMovie';
promptData.noResponse = 'Ok, did you mean ' + movies[1].original_title + ' (' + movies[1].year + ')' + '?';
}
else {
promptData.noAction = 'endSession';
promptData.noResponse = 'Ok. I\'m out of suggestions. Sorry about that.';
}
return promptData;
}
function sendSearchResponse(movies, resp) {
if(!movies || !movies.length) {
return resp.say('No movie found for ' + movieName).send();
}
resp
.say(['Add', movies[0].original_title, '(' + movies[0].year + ')', 'to your list?'].join(' '))
.session('promptData', buildPrompt(movies))
.shouldEndSession(false)
.send();
function formatSearchResults(movies)
{
try{
if (movies != undefined)
{
var newMovies = [];
for (var i = 0; i < movies.length; i++)
{ newMovies.push({
original_title: movies[i].original_title,
inLibrary: movies[i].in_library,
year: movies[i].year,
titles: movies[i].titles,
imdb: movies[i].imdb });
}
}
return newMovies;
}
catch (e)
{
console.log(e);
}
}
module.exports = {
buildPrompt: buildPrompt,
sendSearchResponse: sendSearchResponse,
formatSearchResults: formatSearchResults
};