balena-cli/lib/app.coffee

83 lines
2.1 KiB
CoffeeScript
Raw Normal View History

2014-11-24 16:12:12 +00:00
_ = require('lodash')
2015-02-10 15:55:30 +00:00
async = require('async')
capitano = require('capitano')
2015-01-08 12:04:37 +00:00
resin = require('resin-sdk')
actions = require('./actions')
errors = require('./errors')
2015-02-10 15:46:22 +00:00
plugins = require('./plugins')
update = require('./utils/update')
2014-11-17 19:48:26 +00:00
capitano.permission 'user', (done) ->
resin.auth.isLoggedIn().then (isLoggedIn) ->
if not isLoggedIn
throw new Error ('You have to log in')
.nodeify(done)
capitano.command
signature: '*'
action: ->
capitano.execute(command: 'help')
# ---------- Info Module ----------
capitano.command(actions.info.version)
2014-12-19 18:07:53 +00:00
# ---------- Help Module ----------
capitano.command(actions.help.help)
2014-12-24 16:40:40 +00:00
2015-05-07 15:40:12 +00:00
# ---------- Wizard Module ----------
capitano.command(actions.wizard.wizard)
2014-11-18 15:37:29 +00:00
# ---------- Auth Module ----------
capitano.command(actions.auth.login)
capitano.command(actions.auth.logout)
capitano.command(actions.auth.signup)
capitano.command(actions.auth.whoami)
2014-12-12 14:25:32 +00:00
2014-11-18 15:37:29 +00:00
# ---------- App Module ----------
capitano.command(actions.app.create)
capitano.command(actions.app.list)
capitano.command(actions.app.remove)
capitano.command(actions.app.restart)
2015-03-09 13:14:39 +00:00
capitano.command(actions.app.associate)
capitano.command(actions.app.info)
2014-12-11 15:31:56 +00:00
2014-11-19 17:38:15 +00:00
# ---------- Device Module ----------
capitano.command(actions.device.list)
capitano.command(actions.device.rename)
2015-02-04 18:13:28 +00:00
capitano.command(actions.device.init)
2015-05-27 19:14:36 +00:00
capitano.command(actions.device.await)
capitano.command(actions.device.info)
capitano.command(actions.device.remove)
capitano.command(actions.device.identify)
2014-11-21 18:21:47 +00:00
2015-01-30 12:45:38 +00:00
# ---------- Notes Module ----------
capitano.command(actions.notes.set)
2014-12-24 16:40:40 +00:00
2014-11-20 17:02:29 +00:00
# ---------- Keys Module ----------
capitano.command(actions.keys.list)
capitano.command(actions.keys.add)
capitano.command(actions.keys.info)
capitano.command(actions.keys.remove)
2014-11-21 17:56:11 +00:00
2014-11-24 16:12:12 +00:00
# ---------- Env Module ----------
capitano.command(actions.env.list)
capitano.command(actions.env.add)
capitano.command(actions.env.rename)
capitano.command(actions.env.remove)
2014-11-24 17:00:36 +00:00
2014-11-28 16:46:24 +00:00
# ---------- Logs Module ----------
capitano.command(actions.logs)
2014-11-28 16:46:24 +00:00
update.notify()
2015-02-10 15:55:30 +00:00
async.waterfall([
2015-02-10 15:46:22 +00:00
2015-02-10 15:55:30 +00:00
(callback) ->
2015-02-24 17:36:10 +00:00
plugins.register('resin-plugin-', callback)
2015-01-14 17:25:16 +00:00
2015-02-10 15:55:30 +00:00
(callback) ->
cli = capitano.parse(process.argv)
2015-08-12 12:17:46 +00:00
capitano.execute(cli, callback)
2015-02-10 15:55:30 +00:00
], errors.handle)