generate interaction model

This commit is contained in:
GotPPay
2017-12-03 00:15:11 +01:00
parent d5120a1ba2
commit 74ee9de93f
3 changed files with 53 additions and 6 deletions

View File

@@ -1,4 +1,4 @@
import { sendUpdateToAmazon } from './helpers/amazon';
var amazonHelper = require('./helpers/amazon');
var express = require('express');
var alexa = require('alexa-app');
@@ -60,6 +60,7 @@ router.post ('/updateSkill/:id', async (req, res, next) => {
if (id !== '-1'){
let result = db.collection('skill_list').update({_id: ObjectID(id)}, skill,{upsert:true}, (err, result)=>{
if (err) throw(err);
amazonHelper.sendUpdateToAmazon(id, db);
res.json(result);
});
}else{

View File

@@ -1,7 +1,52 @@
var ObjectID = require ('mongodb').ObjectID;
var generateInteractionModel = function (skill) {
try{
let result = {};
let allIntents = [];
let defaultIntents = [{
name: "AMAZON.CancelIntent",
samples: []
},
{
name: "AMAZON.HelpIntent",
samples: []
},
{
name: "AMAZON.StopIntent",
samples: []
}];
defaultIntents.map(intent=>{
allIntents.push(intent);
});
export const sendUpdateToAmazon = (id)=>{
//id - skill ID in database
skill.intents.map(intent=>{
allIntents.push({name: intent.intentName, samples: intent.questions, slots: []});
});
}
result.languageModel = {
invocationName: skill.invocationName,
intents: allIntents
};
return JSON.stringify(result);
}catch(e){
console.log("error generate : " + e);
}
}
module.exports = {
sendUpdateToAmazon: function (id, db){
db.collection ('skill_list').find({_id: ObjectID(id)}).toArray((err,result)=>{
if (err){
console.log("Error finding skill");
}else{
//generateInteractionModel
//POST to amazon
let generatedInteractionModel = generateInteractionModel(result[0]);
}
});
}
};

View File

@@ -11,8 +11,9 @@ class App extends Component {
constructor(props){
super(props);
this.state={_id:'5a22ffd36ce046c749739453',
this.state={_id:'5a232fb86ce046c749739455',
skillID:'',
skillName:'',
invocationName:'Saburly',
invocationAnswer:'We are saburly',
allIntents:[],
@@ -23,7 +24,7 @@ class App extends Component {
getSkill(this.state._id).then(l=> l.text()).then(result=>{
let jResult = JSON.parse(result)[0];
if (jResult===undefined) return;
this.setState({ skillID:jResult.skillID, invocationName: jResult.invocationName,
this.setState({ skillID:jResult.skillID,skillName:jResult.skillName, invocationName: jResult.invocationName,
invocationAnswer: jResult.invocationAnswer,
allIntents: jResult.intents})
})