diff --git a/backend/express.js b/backend/express.js index e40491a..dbf6b6f 100644 --- a/backend/express.js +++ b/backend/express.js @@ -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{ diff --git a/backend/helpers/amazon.js b/backend/helpers/amazon.js index 7789579..4466cf5 100644 --- a/backend/helpers/amazon.js +++ b/backend/helpers/amazon.js @@ -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: []}); + }); -} \ No newline at end of file + 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]); + + } + }); + } +}; \ No newline at end of file diff --git a/web/src/App.js b/web/src/App.js index 7761b92..6928119 100644 --- a/web/src/App.js +++ b/web/src/App.js @@ -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}) })