From 55fa8435bb2cec879b4f4d60c3b9ac3724e3b834 Mon Sep 17 00:00:00 2001 From: Juan Cruz Viotti Date: Wed, 19 Nov 2014 13:38:15 -0400 Subject: [PATCH] Implement devices command --- lib/actions/device.coffee | 20 ++++++++++++++++++++ lib/app.coffee | 9 +++++++++ lib/models/device.coffee | 10 ++++++++++ 3 files changed, 39 insertions(+) create mode 100644 lib/actions/device.coffee create mode 100644 lib/models/device.coffee diff --git a/lib/actions/device.coffee b/lib/actions/device.coffee new file mode 100644 index 00000000..86595d76 --- /dev/null +++ b/lib/actions/device.coffee @@ -0,0 +1,20 @@ +_ = require('lodash') +deviceModel = require('../models/device') +getDeviceDisplayName = require('../device/device').getDisplayName +table = require('../table/table') +authHooks = require('../hooks/auth') + +exports.list = authHooks.failIfNotLoggedIn (applicationId) -> + deviceModel.getAll(applicationId).then (devices) -> + + console.log table.horizontal devices, (device) -> + device.application = device.application[0].app_name + device.device_type = getDeviceDisplayName(device.device_type) + delete device.note + delete device.supervisor_version + delete device.uuid + delete device.download_progress + return device + + .catch (error) -> + throw error diff --git a/lib/app.coffee b/lib/app.coffee index 5152dfd2..028e0318 100644 --- a/lib/app.coffee +++ b/lib/app.coffee @@ -38,6 +38,15 @@ program .description('Show an application') .action(app.info) +# ---------- Device Module ---------- + +device = require('./actions/device') + +program + .command('devices ') + .description('Show devices for an application') + .action(device.list) + # ---------- Preferences Module ---------- preferences = require('./actions/preferences') diff --git a/lib/models/device.coffee b/lib/models/device.coffee new file mode 100644 index 00000000..f2cc4f08 --- /dev/null +++ b/lib/models/device.coffee @@ -0,0 +1,10 @@ +canvas = require('./_canvas') + +exports.getAll = (applicationId) -> + return canvas.get + resource: 'device' + options: + filter: + application: applicationId + expand: 'application' + orderby: 'name asc'