forked from Abhishek-AC/Hack-SC-MacNCheese
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcloudFunctionDialogFlow.js
More file actions
79 lines (67 loc) · 2.45 KB
/
cloudFunctionDialogFlow.js
File metadata and controls
79 lines (67 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// See https://github.com/dialogflow/dialogflow-fulfillment-nodejs
// for Dialogflow fulfillment library docs, samples, and to report issues
'use strict';
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');
admin.initializeApp({
credential : admin.credential.applicationDefault(),
databaseURL: 'ws://heretostay-267008.firebaseio.com/'
});
process.env.DEBUG = 'dialogflow:debug'; // enables lib debugging statements
var db = admin.database();
var dbRef = db.ref("caseHistory");
var result = {};
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
const agent = new WebhookClient({ request, response });
console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
console.log('Dialogflow Request body: ' + JSON.stringify(request.body));
function welcome(agent) {
}
function fallback(agent) {
}
function handleLanguage(agent){
const lang = agent.parameters.language;
result.language = lang;
}
function handleA_number(agent){
const A_number = agent.parameters.a_number;
result.aNumber = A_number;
}
function handleName(agent){
const name = agent.parameters;
result.name = name;
}
function handleCountry(agent){
const country_of_residence = agent.parameters;
result.country = country_of_residence['geo-country'];
}
function handleDateOfBirth(agent){
result.DOB = agent.parameters.dateOfBirth;
}
function handleLocation(agent){
const Location = agent.parameters;
result.Location = Location['geo-city'];
}
function handleEntryDateTime(agent){
const DateTimeEntry = agent.parameters;
result.EntryDateTime = DateTimeEntry['date-time'];
}
function handleManner(agent){
result.manner = agent.parameters.manner;
return dbRef.push(result);
}
let intentMap = new Map();
//intentMap.set('Default Welcome Intent', welcome);
//intentMap.set('Default Fallback Intent', fallback);
intentMap.set('Language', handleLanguage);
intentMap.set('A_number', handleA_number);
intentMap.set('Name', handleName);
intentMap.set('Country', handleCountry);
intentMap.set('DateOfBirth', handleDateOfBirth);
intentMap.set('Location', handleLocation);
intentMap.set('EntryDateTime', handleEntryDateTime);
intentMap.set('Manner', handleManner);
agent.handleRequest(intentMap);
});