From ff4aca50745b4fa09db75afaea8240af992ead21 Mon Sep 17 00:00:00 2001 From: Johannes Zellner Date: Thu, 9 Feb 2017 15:47:40 +0100 Subject: [PATCH] Add optional --username and --password arguments for easier scripting --- cli/actions.js | 12 ++++++++---- cli/surfer.js | 2 ++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/cli/actions.js b/cli/actions.js index 996ef7f..e9bbd9d 100644 --- a/cli/actions.js +++ b/cli/actions.js @@ -55,7 +55,7 @@ function collectFiles(filesOrFolders, options) { return tmp; } -function login(uri) { +function login(uri, options) { var tmp = url.parse(uri); if (!tmp.slashes) tmp = url.parse('https://' + uri); @@ -63,8 +63,8 @@ function login(uri) { console.log('Using server', server.cyan); - var username = readlineSync.question('Username: '); - var password = readlineSync.question('Password: ', { hideEchoBack: true, mask: '' }); + var username = options.username || readlineSync.question('Username: '); + var password = options.password || readlineSync.question('Password: ', { hideEchoBack: true, mask: '' }); superagent.post(server + '/api/login').send({ username: username, password: password }).end(function (error, result) { if (error && error.code === 'ENOTFOUND') { @@ -77,7 +77,11 @@ function login(uri) { } if (result.status !== 201) { console.log('Login failed.\n'.red); - return login(uri); + + // remove the password to avoid a login loop + delete options.password; + + return login(uri, options); } // TODO remove at some point, this is just to clear the previous old version values diff --git a/cli/surfer.js b/cli/surfer.js index ef3ed91..366d3c5 100755 --- a/cli/surfer.js +++ b/cli/surfer.js @@ -9,6 +9,8 @@ program.version(require('../package.json').version); program.command('login ') .description('Login to server') + .option('--username [username]', 'Username (optional)') + .option('--password [password]', 'Password (optional)') .action(actions.login); program.command('logout') -- 2.41.0