1515 **/
1616
1717module . exports = function ( RED ) {
18- const SERVICE_IDENTIFIER = 'visual-recognition' ;
19- const VisualRecognitionV3 = require ( 'watson-developer-cloud/visual-recognition/v3' ) ;
18+ const SERVICE_IDENTIFIER = 'visual-recognition' ,
19+ VisualRecognitionV3 = require ( 'watson-developer-cloud/visual-recognition/v3' ) ,
20+ METHODS = {
21+ CREATECLASSIFER : 'createClassifier' ,
22+ LISTCLASSIFIERS : 'listClassifiers' ,
23+ UPDATECLASSIFIER : 'updateClassifier' ,
24+ GETCLASSIFIER : 'getClassifier' ,
25+ DELETECLASSIFIER : 'deleteClassifier' ,
26+ retrieveClassifiersList : 'listClassifiers' ,
27+ retrieveClassifierDetails : 'getClassifier' ,
28+ deleteClassifier : 'deleteClassifier'
29+ } ;
30+
2031 var pkg = require ( '../../package.json' ) ,
2132 serviceutils = require ( '../../utilities/service-utils' ) ,
2233 payloadutils = require ( '../../utilities/payload-utils' ) ,
@@ -382,80 +393,24 @@ module.exports = function(RED) {
382393 return p ;
383394 }
384395
385- function invokeCreateClassifier ( node , params ) {
386- var p = new Promise ( function resolver ( resolve , reject ) {
387- node . service . createClassifier ( params , function ( err , body ) {
388- if ( err ) {
389- reject ( err ) ;
390- } else {
391- resolve ( body ) ;
392- }
393- } ) ;
394-
395- } ) ;
396- return p ;
397- }
398-
399- function invokeUpdateClassifier ( node , params , msg ) {
400- var p = new Promise ( function resolver ( resolve , reject ) {
401- params [ 'classifier_id' ] = msg . params [ 'classifier_id' ] ;
402- node . service . updateClassifier ( params , function ( err , body ) {
403- if ( err ) {
404- reject ( err ) ;
405- } else {
406- resolve ( body ) ;
407- }
408- } ) ;
409-
410- } ) ;
411- return p ;
412- }
413-
414- function invokeListClassifiers ( node , params ) {
415- var p = new Promise ( function resolver ( resolve , reject ) {
416- node . service . listClassifiers ( params , function ( err , body ) {
417- if ( err ) {
418- reject ( err ) ;
419- } else {
420- resolve ( body ) ;
421- }
422- } ) ;
423- } ) ;
424- return p ;
425- }
426-
427- function invokeGetClassifier ( node , params , msg ) {
396+ function invokeClassifierMethod ( node , params , method ) {
428397 var p = new Promise ( function resolver ( resolve , reject ) {
429- params [ 'classifier_id' ] = msg . params [ 'classifier_id' ] ;
430- node . service . getClassifier ( params , function ( err , body ) {
398+ node . service [ method ] ( params , function ( err , body ) {
431399 if ( err ) {
432400 reject ( err ) ;
433401 } else {
434402 resolve ( body ) ;
435403 }
436404 } ) ;
437- } ) ;
438- return p ;
439- }
440405
441- function invokeDeleteClassifier ( node , params , msg ) {
442- var p = new Promise ( function resolver ( resolve , reject ) {
443- params [ 'classifier_id' ] = msg . params [ 'classifier_id' ] ;
444- node . service . deleteClassifier ( params , function ( err , body ) {
445- if ( err ) {
446- reject ( err ) ;
447- } else {
448- resolve ( body ) ;
449- }
450- } ) ;
451406 } ) ;
452407 return p ;
453408 }
454409
455410 function executeCreateClassifier ( params , node , msg ) {
456411 var p = prepareParamsClassifierFiles ( params , node , msg )
457412 . then ( function ( ) {
458- return invokeCreateClassifier ( node , params ) ;
413+ return invokeClassifierMethod ( node , params , METHODS . CREATECLASSIFER ) ;
459414 } ) ;
460415
461416 return p ;
@@ -466,7 +421,7 @@ module.exports = function(RED) {
466421 // are essentially the same.
467422 var p = prepareParamsClassifierFiles ( params , node , msg )
468423 . then ( function ( ) {
469- return invokeUpdateClassifier ( node , params , msg ) ;
424+ return invokeClassifierMethod ( node , params , METHODS . UPDATECLASSIFIER ) ;
470425 } ) ;
471426
472427 return p ;
@@ -490,25 +445,13 @@ module.exports = function(RED) {
490445 break ;
491446
492447 case 'retrieveClassifiersList' :
493- p = invokeListClassifiers ( node , params )
494- . then ( function ( body ) {
495- return processTheResponse ( body , feature , node , msg ) ;
496- } ) ;
497- break ;
498-
499448 case 'retrieveClassifierDetails' :
500- p = invokeGetClassifier ( node , params , msg )
501- . then ( function ( body ) {
502- return processTheResponse ( body , feature , node , msg ) ;
503- } ) ;
504- break ;
505-
506449 case 'deleteClassifier' :
507- p = invokeDeleteClassifier ( node , params , msg )
450+ p = invokeClassifierMethod ( node , params , METHODS [ feature ] )
508451 . then ( function ( body ) {
509452 return processTheResponse ( body , feature , node , msg ) ;
510453 } ) ;
511- break ;
454+ break ;
512455
513456 case 'deleteAllClassifiers' :
514457 p = performDeleteAllClassifiers ( params , node , msg ) ;
@@ -530,6 +473,9 @@ module.exports = function(RED) {
530473 return executeService ( feature , params , node , msg ) ;
531474 //return Promise.resolve();
532475 } else {
476+ if ( msg . params && msg . params [ 'classifier_id' ] ) {
477+ params [ 'classifier_id' ] = msg . params [ 'classifier_id' ] ;
478+ }
533479 return executeUtilService ( feature , params , node , msg ) ;
534480 // return Promise.resolve();
535481 }
0 commit comments