mirror of
https://github.com/balena-io/balena-cli.git
synced 2025-03-22 03:55:19 +00:00
Update Capitano to v1.2.0 and make use of done callback feature
This commit is contained in:
parent
2a8f1f1dc2
commit
3e055b32d2
@ -3,11 +3,10 @@ async = require('async')
|
||||
resin = require('resin-sdk')
|
||||
ui = require('../ui')
|
||||
log = require('../log/log')
|
||||
errors = require('../errors/errors')
|
||||
permissions = require('../permissions/permissions')
|
||||
|
||||
exports.create = permissions.user (params, options) ->
|
||||
async.waterfall [
|
||||
exports.create = permissions.user (params, options, done) ->
|
||||
async.waterfall([
|
||||
|
||||
(callback) ->
|
||||
deviceType = options.type
|
||||
@ -21,10 +20,11 @@ exports.create = permissions.user (params, options) ->
|
||||
(type, callback) ->
|
||||
resin.models.application.create(params.name, type, callback)
|
||||
|
||||
], errors.handle
|
||||
], done)
|
||||
|
||||
exports.list = permissions.user ->
|
||||
resin.models.application.getAll errors.handleCallback (applications) ->
|
||||
exports.list = permissions.user (params, options, done) ->
|
||||
resin.models.application.getAll (error, applications) ->
|
||||
return done(error) if error?
|
||||
log.out ui.widgets.table.horizontal applications, [
|
||||
'ID'
|
||||
'Name'
|
||||
@ -32,9 +32,11 @@ exports.list = permissions.user ->
|
||||
'Online Devices'
|
||||
'Devices Length'
|
||||
]
|
||||
return done()
|
||||
|
||||
exports.info = permissions.user (params) ->
|
||||
resin.models.application.get params.id, errors.handleCallback (application) ->
|
||||
exports.info = permissions.user (params, options, done) ->
|
||||
resin.models.application.get params.id, (error, application) ->
|
||||
return done(error) if error?
|
||||
log.out ui.widgets.table.vertical application, [
|
||||
'ID'
|
||||
'Name'
|
||||
@ -42,16 +44,17 @@ exports.info = permissions.user (params) ->
|
||||
'Git Repository'
|
||||
'Commit'
|
||||
]
|
||||
return done()
|
||||
|
||||
exports.restart = permissions.user (params) ->
|
||||
resin.models.application.restart(params.id, _.unary(errors.handle))
|
||||
exports.restart = permissions.user (params, options, done) ->
|
||||
resin.models.application.restart(params.id, done)
|
||||
|
||||
exports.remove = permissions.user (params, options) ->
|
||||
exports.remove = permissions.user (params, options, done) ->
|
||||
ui.patterns.remove 'application', options.yes, (callback) ->
|
||||
resin.models.application.remove(params.id, callback)
|
||||
, errors.handle
|
||||
, done
|
||||
|
||||
exports.init = permissions.user (params) ->
|
||||
exports.init = permissions.user (params, options, done) ->
|
||||
|
||||
currentDirectory = process.cwd()
|
||||
|
||||
@ -72,4 +75,4 @@ exports.init = permissions.user (params) ->
|
||||
(application, callback) ->
|
||||
resin.vcs.initProjectWithApplication(application, currentDirectory, callback)
|
||||
|
||||
], errors.handle
|
||||
], done
|
||||
|
@ -4,11 +4,10 @@ async = require('async')
|
||||
resin = require('resin-sdk')
|
||||
ui = require('../ui')
|
||||
log = require('../log/log')
|
||||
errors = require('../errors/errors')
|
||||
permissions = require('../permissions/permissions')
|
||||
helpers = require('../helpers/helpers')
|
||||
|
||||
exports.login = (params) ->
|
||||
exports.login = (params, options, done) ->
|
||||
async.waterfall [
|
||||
|
||||
(callback) ->
|
||||
@ -20,12 +19,12 @@ exports.login = (params) ->
|
||||
(credentials, callback) ->
|
||||
resin.auth.login(credentials, callback)
|
||||
|
||||
], errors.handle
|
||||
], done
|
||||
|
||||
exports.logout = permissions.user ->
|
||||
resin.auth.logout(_.unary(errors.handle))
|
||||
exports.logout = permissions.user (params, options, done) ->
|
||||
resin.auth.logout(done)
|
||||
|
||||
exports.signup = ->
|
||||
exports.signup = (params, options, done) ->
|
||||
async.waterfall([
|
||||
|
||||
(callback) ->
|
||||
@ -38,13 +37,12 @@ exports.signup = ->
|
||||
(credentials, callback) ->
|
||||
resin.auth.login(credentials, callback)
|
||||
|
||||
], errors.handle)
|
||||
], done)
|
||||
|
||||
exports.whoami = permissions.user ->
|
||||
resin.auth.whoami errors.handleCallback (username) ->
|
||||
exports.whoami = permissions.user (params, options, done) ->
|
||||
resin.auth.whoami (error, username) ->
|
||||
|
||||
if not username?
|
||||
error = new Error('Username not found')
|
||||
errors.handle(error)
|
||||
return done(new Error('Username not found'))
|
||||
|
||||
log.out(username)
|
||||
|
@ -3,11 +3,11 @@ async = require('async')
|
||||
resin = require('resin-sdk')
|
||||
ui = require('../ui')
|
||||
log = require('../log/log')
|
||||
errors = require('../errors/errors')
|
||||
permissions = require('../permissions/permissions')
|
||||
|
||||
exports.list = permissions.user (params, options) ->
|
||||
resin.models.device.getAllByApplication options.application, errors.handleCallback (devices) ->
|
||||
exports.list = permissions.user (params, options, done) ->
|
||||
resin.models.device.getAllByApplication options.application, (error, devices) ->
|
||||
return done(error) if error?
|
||||
log.out ui.widgets.table.horizontal devices, [
|
||||
'ID'
|
||||
'Name'
|
||||
@ -18,8 +18,11 @@ exports.list = permissions.user (params, options) ->
|
||||
'Last Seen'
|
||||
]
|
||||
|
||||
exports.info = permissions.user (params) ->
|
||||
resin.models.device.get params.id, errors.handleCallback (device) ->
|
||||
return done()
|
||||
|
||||
exports.info = permissions.user (params, options, done) ->
|
||||
resin.models.device.get params.id, (error, device) ->
|
||||
return done(error) if error?
|
||||
log.out ui.widgets.table.vertical device, [
|
||||
'ID'
|
||||
'Name'
|
||||
@ -36,15 +39,17 @@ exports.info = permissions.user (params) ->
|
||||
'Note'
|
||||
]
|
||||
|
||||
exports.remove = permissions.user (params, options) ->
|
||||
return done()
|
||||
|
||||
exports.remove = permissions.user (params, options, done) ->
|
||||
ui.patterns.remove 'device', options.yes, (callback) ->
|
||||
resin.models.device.remove(params.id, callback)
|
||||
, errors.handle
|
||||
, done
|
||||
|
||||
exports.identify = permissions.user (params) ->
|
||||
resin.models.device.identify(params.uuid, _.unary(errors.handle))
|
||||
exports.identify = permissions.user (params, options, done) ->
|
||||
resin.models.device.identify(params.uuid, done)
|
||||
|
||||
exports.rename = permissions.user (params) ->
|
||||
exports.rename = permissions.user (params, options, done) ->
|
||||
async.waterfall [
|
||||
|
||||
(callback) ->
|
||||
@ -55,8 +60,7 @@ exports.rename = permissions.user (params) ->
|
||||
(name, callback) ->
|
||||
resin.models.device.rename(params.id, name, callback)
|
||||
|
||||
], (error) ->
|
||||
errors.handle(error) if error?
|
||||
], done
|
||||
|
||||
exports.supported = permissions.user ->
|
||||
devices = resin.models.device.getSupportedDeviceTypes()
|
||||
|
@ -3,30 +3,32 @@ resin = require('resin-sdk')
|
||||
ui = require('../ui')
|
||||
permissions = require('../permissions/permissions')
|
||||
log = require('../log/log')
|
||||
errors = require('../errors/errors')
|
||||
|
||||
exports.list = permissions.user (params, options) ->
|
||||
resin.models.environmentVariables.getAllByApplication options.application, errors.handleCallback (environmentVariables) ->
|
||||
exports.list = permissions.user (params, options, done) ->
|
||||
resin.models.environmentVariables.getAllByApplication options.application, (error, environmentVariables) ->
|
||||
return done(error) if error?
|
||||
|
||||
if not options.verbose
|
||||
environmentVariables = _.reject(environmentVariables, resin.models.environmentVariables.isSystemVariable)
|
||||
|
||||
log.out(ui.widgets.table.horizontal(environmentVariables))
|
||||
return done()
|
||||
|
||||
exports.remove = permissions.user (params, options) ->
|
||||
exports.remove = permissions.user (params, options, done) ->
|
||||
ui.patterns.remove 'environment variable', options.yes, (callback) ->
|
||||
resin.models.environmentVariables.remove(params.id, callback)
|
||||
, errors.handle
|
||||
, done
|
||||
|
||||
exports.add = permissions.user (params, options) ->
|
||||
exports.add = permissions.user (params, options, done) ->
|
||||
if not params.value?
|
||||
params.value = process.env[params.key]
|
||||
|
||||
if not params.value?
|
||||
errors.handle(new Error("Environment value not found for key: #{params.key}"))
|
||||
return done(new Error("Environment value not found for key: #{params.key}"))
|
||||
else
|
||||
log.info("Warning: using #{params.key}=#{params.value} from host environment")
|
||||
|
||||
resin.models.environmentVariables.create(options.application, params.key, params.value, _.unary(errors.handle))
|
||||
resin.models.environmentVariables.create(options.application, params.key, params.value, done)
|
||||
|
||||
exports.rename = permissions.user (params, options) ->
|
||||
resin.models.environmentVariables.update(params.id, params.value, _.unary(errors.handle))
|
||||
exports.rename = permissions.user (params, options, done) ->
|
||||
resin.models.environmentVariables.update(params.id, params.value, done)
|
||||
|
@ -7,7 +7,6 @@ resin = require('resin-sdk')
|
||||
permissions = require('../permissions/permissions')
|
||||
ui = require('../ui')
|
||||
log = require('../log/log')
|
||||
errors = require('../errors/errors')
|
||||
examplesData = require('../data/examples.json')
|
||||
|
||||
exports.list = permissions.user ->
|
||||
@ -27,13 +26,12 @@ exports.list = permissions.user ->
|
||||
'Author'
|
||||
]
|
||||
|
||||
exports.info = permissions.user (params) ->
|
||||
exports.info = permissions.user (params, options, done) ->
|
||||
id = params.id - 1
|
||||
example = examplesData[id]
|
||||
|
||||
if not example?
|
||||
error = new Error("Unknown example: #{id}")
|
||||
errors.handle(error)
|
||||
return done(new Error("Unknown example: #{id}"))
|
||||
|
||||
example.id = id
|
||||
example.author ?= 'Unknown'
|
||||
@ -46,12 +44,13 @@ exports.info = permissions.user (params) ->
|
||||
'Repository'
|
||||
]
|
||||
|
||||
exports.clone = permissions.user (params) ->
|
||||
return done()
|
||||
|
||||
exports.clone = permissions.user (params, options, done) ->
|
||||
example = examplesData[params.id - 1]
|
||||
|
||||
if not example?
|
||||
error = new Error("Unknown example: #{id}")
|
||||
errors.handle(error)
|
||||
return done(new Error("Unknown example: #{id}"))
|
||||
|
||||
async.waterfall [
|
||||
|
||||
@ -67,5 +66,4 @@ exports.clone = permissions.user (params) ->
|
||||
log.info("Cloning #{example.display_name} to #{example.name}")
|
||||
gitCli.Repository.clone(example.repository, example.name, callback)
|
||||
|
||||
], (error) ->
|
||||
errors.handle(error) if error?
|
||||
], done
|
||||
|
@ -7,23 +7,26 @@ helpers = require('../helpers/helpers')
|
||||
ui = require('../ui')
|
||||
log = require('../log/log')
|
||||
permissions = require('../permissions/permissions')
|
||||
errors = require('../errors/errors')
|
||||
|
||||
exports.list = permissions.user ->
|
||||
resin.models.key.getAll errors.handleCallback (keys) ->
|
||||
exports.list = permissions.user (params, options, done) ->
|
||||
resin.models.key.getAll (error, keys) ->
|
||||
return done(error) if error?
|
||||
log.out ui.widgets.table.horizontal keys, [ 'ID', 'Title' ]
|
||||
return done()
|
||||
|
||||
exports.info = permissions.user (params) ->
|
||||
resin.models.key.get params.id, errors.handleCallback (key) ->
|
||||
exports.info = permissions.user (params, options, done) ->
|
||||
resin.models.key.get params.id, (error, key) ->
|
||||
return done(error) if error?
|
||||
key.public_key = '\n' + _.str.chop(key.public_key, resin.settings.get('sshKeyWidth')).join('\n')
|
||||
log.out(ui.widgets.table.vertical(key, [ 'ID', 'Title', 'Public Key' ]))
|
||||
return done()
|
||||
|
||||
exports.remove = permissions.user (params, options) ->
|
||||
exports.remove = permissions.user (params, options, done) ->
|
||||
ui.patterns.remove 'key', options.yes, (callback) ->
|
||||
resin.models.key.remove(params.id, callback)
|
||||
, errors.handle
|
||||
, done
|
||||
|
||||
exports.add = permissions.user (params) ->
|
||||
exports.add = permissions.user (params, options, done) ->
|
||||
async.waterfall [
|
||||
|
||||
(callback) ->
|
||||
@ -35,4 +38,4 @@ exports.add = permissions.user (params) ->
|
||||
(key, callback) ->
|
||||
resin.models.key.create(params.name, key, callback)
|
||||
|
||||
], errors.handle
|
||||
], done
|
||||
|
@ -1,14 +1,15 @@
|
||||
resin = require('resin-sdk')
|
||||
permissions = require('../permissions/permissions')
|
||||
log = require('../log/log')
|
||||
errors = require('../errors/errors')
|
||||
|
||||
LOGS_HISTORY_COUNT = 200
|
||||
|
||||
exports.logs = permissions.user (params, options) ->
|
||||
exports.logs = permissions.user (params, options, done) ->
|
||||
|
||||
resin.logs.subscribe params.uuid, {
|
||||
history: options.num or LOGS_HISTORY_COUNT
|
||||
tail: options.tail
|
||||
}, errors.handleCallback (message) ->
|
||||
}, (error, message) ->
|
||||
return done(error) if error?
|
||||
log.array(message, log.out)
|
||||
return done()
|
||||
|
@ -1,10 +1,9 @@
|
||||
async = require('async')
|
||||
permissions = require('../permissions/permissions')
|
||||
errors = require('../errors/errors')
|
||||
helpers = require('../helpers/helpers')
|
||||
resin = require('resin-sdk')
|
||||
|
||||
exports.set = permissions.user (params, options) ->
|
||||
exports.set = permissions.user (params, options, done) ->
|
||||
async.waterfall([
|
||||
|
||||
(callback) ->
|
||||
@ -15,4 +14,4 @@ exports.set = permissions.user (params, options) ->
|
||||
(note, callback) ->
|
||||
resin.models.device.note(options.device, note, callback)
|
||||
|
||||
], errors.handle)
|
||||
], done)
|
||||
|
@ -6,9 +6,8 @@ ProgressBar = require('progress')
|
||||
resin = require('resin-sdk')
|
||||
log = require('../log/log')
|
||||
permissions = require('../permissions/permissions')
|
||||
errors = require('../errors/errors')
|
||||
|
||||
exports.download = (params, options) ->
|
||||
exports.download = (params, options, done) ->
|
||||
|
||||
osParams =
|
||||
network: options.network
|
||||
@ -48,5 +47,7 @@ exports.download = (params, options) ->
|
||||
bar.tick(state.received - received)
|
||||
received = state.received
|
||||
|
||||
], errors.handleCallback ->
|
||||
], (error) ->
|
||||
return done(error) if error?
|
||||
log.info("\nFinished downloading #{outputFile}")
|
||||
return done()
|
||||
|
@ -624,4 +624,5 @@ resin.data.prefix.set resin.settings.get('dataPrefix'), (error) ->
|
||||
if cli.global.project?
|
||||
changeProjectDirectory(cli.global.project)
|
||||
|
||||
capitano.execute(cli)
|
||||
capitano.execute cli, (error) ->
|
||||
errors.handle(error) if error?
|
||||
|
@ -46,7 +46,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"async": "~0.9.0",
|
||||
"capitano": "~1.1.1",
|
||||
"capitano": "~1.2.0",
|
||||
"cliff": "~0.1.9",
|
||||
"coffee-script": "~1.8.0",
|
||||
"conf.js": "^0.1.1",
|
||||
|
Loading…
x
Reference in New Issue
Block a user