@@ -98,10 +98,10 @@ module.exports = function(RED) {
9898 if ( ! config . multisession ) {
9999 let id = node . context ( ) . flow . get ( 'session_id' ) ;
100100 if ( id ) {
101- params . session_id = id ;
101+ session_id = id ;
102102 }
103103 } else if ( msg . params && msg . params . session_id ) {
104- params . session_id = msg . params . session_id ;
104+ session_id = msg . params . session_id ;
105105 }
106106
107107 return session_id ;
@@ -129,14 +129,15 @@ module.exports = function(RED) {
129129 }
130130
131131 function setAdditionalContext ( msg , params ) {
132- // needs to go in context.skills['main skill']['user_defined']
133-
134132 if ( msg . additional_context ) {
135- params . context = params . context ? params . context : { } ;
133+ params . context = params . context ?
134+ params . context :
135+ { 'skills' : { 'main skill' : { 'user_defined' : { } } } } ;
136136
137137 for ( prop in msg . additional_context ) {
138138 if ( msg . additional_context . hasOwnProperty ( prop ) ) {
139- params . context [ prop ] = msg . additional_context [ prop ] ;
139+ params . context . skills [ 'main skill' ] [ 'user_defined' ] [ prop ]
140+ = msg . additional_context [ prop ] ;
140141 }
141142 }
142143 }
@@ -183,16 +184,16 @@ module.exports = function(RED) {
183184 } ;
184185
185186 let context = setContext ( msg , params . session_id ) ;
187+
186188 if ( context ) {
187189 params . context = context ;
188190 }
191+
189192 setAdditionalContext ( msg , params ) ;
190193 setAssistantID ( msg , params ) ;
191194 setInputOptions ( msg , params ) ;
192195 setParamInputs ( msg , params ) ;
193196
194- //verifyOptionalInputs(node, msg, config, params);
195-
196197 return Promise . resolve ( params ) ;
197198 }
198199
@@ -273,11 +274,8 @@ module.exports = function(RED) {
273274 assistant_id : params . assistant_id
274275 } , function ( err , response ) {
275276 if ( err ) {
276- console . log ( 'Error Detected' ) ;
277277 reject ( err ) ;
278278 } else {
279- console . log ( 'Data returned' )
280- console . log ( response ) ;
281279 if ( response && response . session_id ) {
282280 params . session_id = response . session_id ;
283281 if ( ! config . multisession ) {
@@ -293,6 +291,19 @@ module.exports = function(RED) {
293291 } ) ;
294292 }
295293
294+ function messageTurn ( params ) {
295+ return new Promise ( function resolver ( resolve , reject ) {
296+ node . service . message ( params , function ( err , body ) {
297+ if ( err ) {
298+ reject ( err ) ;
299+ } else {
300+ resolve ( body ) ;
301+ }
302+ } ) ;
303+ } ) ;
304+ }
305+
306+
296307 this . on ( 'input' , function ( msg ) {
297308 var creds = setCredentials ( msg ) ,
298309 params = { } ;
@@ -311,22 +322,21 @@ module.exports = function(RED) {
311322 } )
312323 . then ( function ( p ) {
313324 params = p ;
314- console . log ( 'params have been built' ) ;
315- console . log ( params ) ;
316325 return setServiceSettings ( msg , creds ) ;
317-
318326 } )
319327 . then ( function ( settings ) {
320- console . log ( 'service settings have been built' ) ;
321- console . log ( settings ) ;
322328 return buildService ( settings ) ;
323329 } )
324330 . then ( function ( ) {
325- console . log ( 'service is ready' ) ;
326331 return checkSession ( params ) ;
327332 } )
328333 . then ( function ( ) {
329- msg . payload = 'Not complete yet' ;
334+ node . status ( { fill : 'blue' , shape : 'dot' , text : 'Calling Assistant service ...' } ) ;
335+ return messageTurn ( params ) ;
336+ } )
337+ . then ( function ( body ) {
338+ body . session_id = params . session_id ;
339+ msg . payload = body ;
330340 return Promise . resolve ( ) ;
331341 } )
332342 . then ( function ( ) {
0 commit comments