balena-cli/build/app.js

110 lines
2.2 KiB
JavaScript
Raw Normal View History

2015-02-26 15:47:56 +00:00
(function() {
var Promise, _, actions, capitano, errors, plugins, resin, update;
2015-02-26 15:47:56 +00:00
_ = require('lodash');
Promise = require('bluebird');
2015-02-26 15:47:56 +00:00
capitano = Promise.promisifyAll(require('capitano'));
2015-02-26 15:47:56 +00:00
resin = require('resin-sdk');
actions = require('./actions');
errors = require('./errors');
plugins = require('./utils/plugins');
2015-02-26 15:47:56 +00:00
update = require('./utils/update');
2015-02-26 15:47:56 +00:00
capitano.permission('user', function(done) {
return resin.auth.isLoggedIn().then(function(isLoggedIn) {
2015-02-26 15:47:56 +00:00
if (!isLoggedIn) {
throw new Error('You have to log in');
2015-02-26 15:47:56 +00:00
}
}).nodeify(done);
2015-02-26 15:47:56 +00:00
});
capitano.command({
signature: '*',
action: function() {
return capitano.execute({
command: 'help'
});
}
});
capitano.command(actions.info.version);
capitano.command(actions.help.help);
2015-05-07 15:40:12 +00:00
capitano.command(actions.wizard.wizard);
2015-02-26 15:47:56 +00:00
capitano.command(actions.auth.login);
capitano.command(actions.auth.logout);
capitano.command(actions.auth.signup);
capitano.command(actions.auth.whoami);
capitano.command(actions.app.create);
capitano.command(actions.app.list);
capitano.command(actions.app.remove);
capitano.command(actions.app.restart);
capitano.command(actions.app.info);
2015-02-26 15:47:56 +00:00
capitano.command(actions.device.list);
capitano.command(actions.device.rename);
capitano.command(actions.device.init);
capitano.command(actions.device.remove);
capitano.command(actions.device.identify);
capitano.command(actions.device.register);
capitano.command(actions.device.info);
2015-02-26 15:47:56 +00:00
capitano.command(actions.notes.set);
capitano.command(actions.keys.list);
capitano.command(actions.keys.add);
capitano.command(actions.keys.info);
capitano.command(actions.keys.remove);
capitano.command(actions.env.list);
capitano.command(actions.env.add);
capitano.command(actions.env.rename);
capitano.command(actions.env.remove);
capitano.command(actions.os.download);
capitano.command(actions.os.configure);
capitano.command(actions.os.initialize);
capitano.command(actions.logs);
2015-02-26 15:47:56 +00:00
update.notify();
plugins.register(/^resin-plugin-(.+)$/).then(function() {
var cli;
cli = capitano.parse(process.argv);
return capitano.executeAsync(cli);
})["catch"](errors.handle);
2015-02-26 15:47:56 +00:00
}).call(this);