2016-01-04 03:58:51 +00:00
|
|
|
###
|
|
|
|
Copyright 2016 Resin.io
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
###
|
|
|
|
|
2014-11-24 16:12:12 +00:00
|
|
|
_ = require('lodash')
|
2015-08-19 15:21:08 +00:00
|
|
|
Promise = require('bluebird')
|
|
|
|
capitano = Promise.promisifyAll(require('capitano'))
|
2015-01-08 12:04:37 +00:00
|
|
|
resin = require('resin-sdk')
|
2014-11-26 19:11:34 +00:00
|
|
|
actions = require('./actions')
|
2015-02-10 15:38:19 +00:00
|
|
|
errors = require('./errors')
|
2015-08-19 15:21:08 +00:00
|
|
|
plugins = require('./utils/plugins')
|
2015-08-18 12:53:06 +00:00
|
|
|
update = require('./utils/update')
|
2014-11-17 19:48:26 +00:00
|
|
|
|
2015-01-16 12:34:59 +00:00
|
|
|
capitano.permission 'user', (done) ->
|
2015-07-22 22:06:53 +00:00
|
|
|
resin.auth.isLoggedIn().then (isLoggedIn) ->
|
2015-01-16 12:34:59 +00:00
|
|
|
if not isLoggedIn
|
2015-07-22 22:06:53 +00:00
|
|
|
throw new Error ('You have to log in')
|
|
|
|
.nodeify(done)
|
2015-01-16 12:34:59 +00:00
|
|
|
|
2014-12-12 21:20:29 +00:00
|
|
|
capitano.command
|
|
|
|
signature: '*'
|
|
|
|
action: ->
|
|
|
|
capitano.execute(command: 'help')
|
2014-11-27 13:28:24 +00:00
|
|
|
|
2015-01-15 17:10:14 +00:00
|
|
|
# ---------- Info Module ----------
|
|
|
|
capitano.command(actions.info.version)
|
2014-12-19 18:07:53 +00:00
|
|
|
|
2015-01-15 17:10:14 +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 ----------
|
2015-01-15 17:10:14 +00:00
|
|
|
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 ----------
|
2015-01-15 17:10:14 +00:00
|
|
|
capitano.command(actions.app.create)
|
|
|
|
capitano.command(actions.app.list)
|
|
|
|
capitano.command(actions.app.remove)
|
|
|
|
capitano.command(actions.app.restart)
|
2015-06-04 15:54:15 +00:00
|
|
|
capitano.command(actions.app.info)
|
2014-12-11 15:31:56 +00:00
|
|
|
|
2014-11-19 17:38:15 +00:00
|
|
|
# ---------- Device Module ----------
|
2015-01-15 17:10:14 +00:00
|
|
|
capitano.command(actions.device.list)
|
|
|
|
capitano.command(actions.device.rename)
|
2015-02-04 18:13:28 +00:00
|
|
|
capitano.command(actions.device.init)
|
2015-01-15 17:10:14 +00:00
|
|
|
capitano.command(actions.device.remove)
|
|
|
|
capitano.command(actions.device.identify)
|
2015-09-29 18:33:31 +00:00
|
|
|
capitano.command(actions.device.register)
|
2015-11-11 19:00:02 +00:00
|
|
|
capitano.command(actions.device.move)
|
2015-10-19 18:14:04 +00:00
|
|
|
capitano.command(actions.device.info)
|
2014-11-21 18:21:47 +00:00
|
|
|
|
2015-01-30 12:45:38 +00:00
|
|
|
# ---------- Notes Module ----------
|
2015-01-15 17:10:14 +00:00
|
|
|
capitano.command(actions.notes.set)
|
2014-12-24 16:40:40 +00:00
|
|
|
|
2014-11-20 17:02:29 +00:00
|
|
|
# ---------- Keys Module ----------
|
2015-01-15 17:10:14 +00:00
|
|
|
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 ----------
|
2015-01-15 17:10:14 +00:00
|
|
|
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
|
|
|
|
2015-09-29 17:03:14 +00:00
|
|
|
# ---------- OS Module ----------
|
|
|
|
capitano.command(actions.os.download)
|
2015-09-29 17:36:29 +00:00
|
|
|
capitano.command(actions.os.configure)
|
2015-09-29 18:52:34 +00:00
|
|
|
capitano.command(actions.os.initialize)
|
2015-09-29 17:03:14 +00:00
|
|
|
|
2015-11-10 16:53:34 +00:00
|
|
|
# ---------- Config Module ----------
|
|
|
|
capitano.command(actions.config.read)
|
2015-11-10 18:27:01 +00:00
|
|
|
capitano.command(actions.config.write)
|
2015-11-11 14:38:45 +00:00
|
|
|
capitano.command(actions.config.reconfigure)
|
2015-11-10 16:53:34 +00:00
|
|
|
|
2015-11-16 02:08:02 +00:00
|
|
|
# ---------- Settings Module ----------
|
|
|
|
capitano.command(actions.settings.list)
|
|
|
|
|
2014-11-28 16:46:24 +00:00
|
|
|
# ---------- Logs Module ----------
|
2015-05-18 13:37:27 +00:00
|
|
|
capitano.command(actions.logs)
|
2014-11-28 16:46:24 +00:00
|
|
|
|
2015-08-18 12:53:06 +00:00
|
|
|
update.notify()
|
|
|
|
|
2015-08-19 15:21:08 +00:00
|
|
|
plugins.register(/^resin-plugin-(.+)$/).then ->
|
|
|
|
cli = capitano.parse(process.argv)
|
|
|
|
capitano.executeAsync(cli)
|
|
|
|
.catch(errors.handle)
|