mirror of
https://github.com/balena-io/balena-cli.git
synced 2024-12-19 05:37:51 +00:00
7f4863da86
This new version supports promises and contains speed improvements.
77 lines
2.1 KiB
CoffeeScript
77 lines
2.1 KiB
CoffeeScript
_ = require('lodash')
|
|
Promise = require('bluebird')
|
|
capitano = Promise.promisifyAll(require('capitano'))
|
|
resin = require('resin-sdk')
|
|
actions = require('./actions')
|
|
errors = require('./errors')
|
|
plugins = require('./utils/plugins')
|
|
update = require('./utils/update')
|
|
|
|
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)
|
|
|
|
# ---------- Help Module ----------
|
|
capitano.command(actions.help.help)
|
|
|
|
# ---------- Wizard Module ----------
|
|
capitano.command(actions.wizard.wizard)
|
|
|
|
# ---------- Auth Module ----------
|
|
capitano.command(actions.auth.login)
|
|
capitano.command(actions.auth.logout)
|
|
capitano.command(actions.auth.signup)
|
|
capitano.command(actions.auth.whoami)
|
|
|
|
# ---------- App Module ----------
|
|
capitano.command(actions.app.create)
|
|
capitano.command(actions.app.list)
|
|
capitano.command(actions.app.remove)
|
|
capitano.command(actions.app.restart)
|
|
capitano.command(actions.app.associate)
|
|
capitano.command(actions.app.info)
|
|
|
|
# ---------- Device Module ----------
|
|
capitano.command(actions.device.list)
|
|
capitano.command(actions.device.rename)
|
|
capitano.command(actions.device.init)
|
|
capitano.command(actions.device.await)
|
|
capitano.command(actions.device.info)
|
|
capitano.command(actions.device.remove)
|
|
capitano.command(actions.device.identify)
|
|
|
|
# ---------- Notes Module ----------
|
|
capitano.command(actions.notes.set)
|
|
|
|
# ---------- Keys Module ----------
|
|
capitano.command(actions.keys.list)
|
|
capitano.command(actions.keys.add)
|
|
capitano.command(actions.keys.info)
|
|
capitano.command(actions.keys.remove)
|
|
|
|
# ---------- Env Module ----------
|
|
capitano.command(actions.env.list)
|
|
capitano.command(actions.env.add)
|
|
capitano.command(actions.env.rename)
|
|
capitano.command(actions.env.remove)
|
|
|
|
# ---------- Logs Module ----------
|
|
capitano.command(actions.logs)
|
|
|
|
update.notify()
|
|
|
|
plugins.register(/^resin-plugin-(.+)$/).then ->
|
|
cli = capitano.parse(process.argv)
|
|
capitano.executeAsync(cli)
|
|
.catch(errors.handle)
|