@@ -20,42 +20,42 @@ var prompt = require("../prompt");
2020
2121function command ( argv , result ) {
2222 config . tokens ( null ) ;
23- if ( argv . json ) {
24- console . warn ( "login command does not support json format output" ) ;
25- }
2623 return request . request ( '/auth/login' , { } ) . then ( function ( resp ) {
27- if ( resp . type ) {
28- if ( resp . type == "credentials" ) {
29- prompt . read ( { prompt :"Username:" } , function ( err , username ) {
30- prompt . read ( { prompt :"Password:" , silent : true } , function ( err , password ) {
31- request . request ( '/auth/token' , {
32- method : "POST" ,
33- data : {
34- client_id : 'node-red-admin' ,
35- grant_type : 'password' ,
36- scope : '*' ,
37- username : username ,
38- password : password
39- }
40- } ) . then ( function ( resp ) {
41- config . tokens ( resp ) ;
42- result . log ( "Logged in" ) ;
43- } ) . catch ( function ( resp ) {
44- result . warn ( "Login failed" ) ;
24+ return new Promise ( ( resolve , reject ) => {
25+ if ( resp . type ) {
26+ if ( resp . type == "credentials" ) {
27+ prompt . read ( { prompt :"Username:" } , function ( err , username ) {
28+ prompt . read ( { prompt :"Password:" , silent : true } , function ( err , password ) {
29+ request . request ( '/auth/token' , {
30+ method : "POST" ,
31+ data : {
32+ client_id : 'node-red-admin' ,
33+ grant_type : 'password' ,
34+ scope : '*' ,
35+ username : username ,
36+ password : password
37+ }
38+ } ) . then ( function ( resp ) {
39+ config . tokens ( resp ) ;
40+ result . log ( "Logged in" ) ;
41+ resolve ( ) ;
42+ } ) . catch ( function ( resp ) {
43+ reject ( "Login failed" ) ;
44+ } ) ;
4545 } ) ;
4646 } ) ;
47- } ) ;
47+ } else {
48+ reject ( "Unsupported login type" ) ;
49+ }
4850 } else {
49- result . warn ( "Unsupported login type" ) ;
51+ resolve ( ) ;
5052 }
51- }
52- } ) . catch ( function ( resp ) {
53- result . warn ( "Login failed" ) ;
53+ } ) ;
5454 } ) ;
5555}
5656
5757command . alias = "login" ;
5858command . usage = command . alias + "" ;
59- command . description = "Log user in to the targetted Node-RED admin api" ;
59+ command . description = "Log in to the targetted Node-RED admin api" ;
6060
6161module . exports = command ;
0 commit comments