berlioz
Version:
Berlioz - cloud deployment and migration services
64 lines (55 loc) • 1.47 kB
JavaScript
module.exports = {
usePrompt: true,
useClient: true,
arguments: [
{
name: 'user',
optional: true
},
{
name: 'pass',
optional: true
}
],
exec: function({Promise, _, args, logger, screen, client, runPrompt}) {
var schema = {
properties: {
}
};
if (!args.user)
{
schema.properties.username = {
pattern: /^\S*$/,
message: 'Name must be only letters, spaces, or dashes',
required: true
};
}
if (!args.pass)
{
schema.properties.password = {
hidden: true,
required: true
};
}
if (_.keys(schema.properties).length > 0)
{
return runPrompt(schema)
.then(result => {
var username = args.user || result.username;
var password = args.pass || result.password;
return performLogin(username, password);
});
}
else
{
return performLogin(args.user, args.pass);
}
function performLogin(username, password)
{
return client.login(username, password)
.then(result => {
screen.info('Login successful.');
});
}
}
}