Merge pull request #990 from resin-io/drop-sdk-preconfigured-app-patterns

Drop sdk preconfigured app patterns
This commit is contained in:
Thodoris Greasidis 2018-10-20 19:07:57 +02:00 committed by GitHub
commit 2b52d5edbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 13 deletions

View File

@ -44,7 +44,8 @@ exports.create =
]
permission: 'user'
action: (params, options, done) ->
resin = require('resin-sdk-preconfigured')
resin = require('resin-sdk').fromSharedOptions()
patterns = require('../utils/patterns')
# Validate the the application name is available
@ -57,7 +58,10 @@ exports.create =
.then ->
return options.type or patterns.selectDeviceType()
.then (deviceType) ->
return resin.models.application.create(params.name, deviceType)
return resin.models.application.create({
name: params.name
deviceType
})
.then (application) ->
console.info("Application created: #{application.app_name} (#{application.device_type}, id #{application.id})")
.nodeify(done)
@ -78,7 +82,7 @@ exports.list =
permission: 'user'
primary: true
action: (params, options, done) ->
resin = require('resin-sdk-preconfigured')
resin = require('resin-sdk').fromSharedOptions()
visuals = require('resin-cli-visuals')
resin.models.application.getAll().then (applications) ->
@ -104,7 +108,7 @@ exports.info =
permission: 'user'
primary: true
action: (params, options, done) ->
resin = require('resin-sdk-preconfigured')
resin = require('resin-sdk').fromSharedOptions()
visuals = require('resin-cli-visuals')
resin.models.application.get(params.name).then (application) ->
@ -129,7 +133,7 @@ exports.restart =
'''
permission: 'user'
action: (params, options, done) ->
resin = require('resin-sdk-preconfigured')
resin = require('resin-sdk').fromSharedOptions()
resin.models.application.restart(params.name).nodeify(done)
exports.remove =
@ -149,7 +153,7 @@ exports.remove =
options: [ commandOptions.yes ]
permission: 'user'
action: (params, options, done) ->
resin = require('resin-sdk-preconfigured')
resin = require('resin-sdk').fromSharedOptions()
patterns = require('../utils/patterns')
patterns.confirm(options.yes, 'Are you sure you want to delete the application?').then ->

View File

@ -18,11 +18,13 @@ import _ = require('lodash');
import Promise = require('bluebird');
import form = require('resin-cli-form');
import visuals = require('resin-cli-visuals');
import resin = require('resin-sdk-preconfigured');
import ResinSdk = require('resin-sdk');
import chalk from 'chalk';
import validation = require('./validation');
import messages = require('./messages');
const resin = ResinSdk.fromSharedOptions();
export function authenticate(options: {}): Promise<void> {
return form
.run(
@ -96,11 +98,14 @@ export function askLoginType() {
}
export function selectDeviceType() {
return resin.models.device.getSupportedDeviceTypes().then(deviceTypes => {
return resin.models.config.getDeviceTypes().then(deviceTypes => {
return form.ask({
message: 'Device Type',
type: 'list',
choices: deviceTypes,
choices: _.map(deviceTypes, ({ slug: value, name }) => ({
name,
value,
})),
});
});
}
@ -130,7 +135,9 @@ export function confirm(
});
}
export function selectApplication(filter: (app: resin.Application) => boolean) {
export function selectApplication(
filter: (app: ResinSdk.Application) => boolean,
) {
return resin.models.application
.hasAny()
.then(function(hasAnyApplications) {
@ -161,7 +168,7 @@ export function selectOrCreateApplication() {
return resin.models.application.getAll().then(applications => {
const appOptions = _.map<
resin.Application,
ResinSdk.Application,
{ name: string; value: string | null }
>(applications, application => ({
name: `${application.app_name} (${application.device_type})`,
@ -223,7 +230,7 @@ export function awaitDevice(uuid: string) {
export function inferOrSelectDevice(preferredUuid: string) {
return resin.models.device
.getAll()
.filter<resin.Device>(device => device.is_online)
.filter<ResinSdk.Device>(device => device.is_online)
.then(onlineDevices => {
if (_.isEmpty(onlineDevices)) {
throw new Error("You don't have any devices online");
@ -240,7 +247,10 @@ export function inferOrSelectDevice(preferredUuid: string) {
type: 'list',
default: defaultUuid,
choices: _.map(onlineDevices, device => ({
name: `${device.name || 'Untitled'} (${device.uuid.slice(0, 7)})`,
name: `${device.device_name || 'Untitled'} (${device.uuid.slice(
0,
7,
)})`,
value: device.uuid,
})),
});