mirror of
https://github.com/balena-io/balena-cli.git
synced 2025-02-22 18:12:54 +00:00
Merge pull request #990 from resin-io/drop-sdk-preconfigured-app-patterns
Drop sdk preconfigured app patterns
This commit is contained in:
commit
2b52d5edbc
@ -44,7 +44,8 @@ exports.create =
|
|||||||
]
|
]
|
||||||
permission: 'user'
|
permission: 'user'
|
||||||
action: (params, options, done) ->
|
action: (params, options, done) ->
|
||||||
resin = require('resin-sdk-preconfigured')
|
resin = require('resin-sdk').fromSharedOptions()
|
||||||
|
|
||||||
patterns = require('../utils/patterns')
|
patterns = require('../utils/patterns')
|
||||||
|
|
||||||
# Validate the the application name is available
|
# Validate the the application name is available
|
||||||
@ -57,7 +58,10 @@ exports.create =
|
|||||||
.then ->
|
.then ->
|
||||||
return options.type or patterns.selectDeviceType()
|
return options.type or patterns.selectDeviceType()
|
||||||
.then (deviceType) ->
|
.then (deviceType) ->
|
||||||
return resin.models.application.create(params.name, deviceType)
|
return resin.models.application.create({
|
||||||
|
name: params.name
|
||||||
|
deviceType
|
||||||
|
})
|
||||||
.then (application) ->
|
.then (application) ->
|
||||||
console.info("Application created: #{application.app_name} (#{application.device_type}, id #{application.id})")
|
console.info("Application created: #{application.app_name} (#{application.device_type}, id #{application.id})")
|
||||||
.nodeify(done)
|
.nodeify(done)
|
||||||
@ -78,7 +82,7 @@ exports.list =
|
|||||||
permission: 'user'
|
permission: 'user'
|
||||||
primary: true
|
primary: true
|
||||||
action: (params, options, done) ->
|
action: (params, options, done) ->
|
||||||
resin = require('resin-sdk-preconfigured')
|
resin = require('resin-sdk').fromSharedOptions()
|
||||||
visuals = require('resin-cli-visuals')
|
visuals = require('resin-cli-visuals')
|
||||||
|
|
||||||
resin.models.application.getAll().then (applications) ->
|
resin.models.application.getAll().then (applications) ->
|
||||||
@ -104,7 +108,7 @@ exports.info =
|
|||||||
permission: 'user'
|
permission: 'user'
|
||||||
primary: true
|
primary: true
|
||||||
action: (params, options, done) ->
|
action: (params, options, done) ->
|
||||||
resin = require('resin-sdk-preconfigured')
|
resin = require('resin-sdk').fromSharedOptions()
|
||||||
visuals = require('resin-cli-visuals')
|
visuals = require('resin-cli-visuals')
|
||||||
|
|
||||||
resin.models.application.get(params.name).then (application) ->
|
resin.models.application.get(params.name).then (application) ->
|
||||||
@ -129,7 +133,7 @@ exports.restart =
|
|||||||
'''
|
'''
|
||||||
permission: 'user'
|
permission: 'user'
|
||||||
action: (params, options, done) ->
|
action: (params, options, done) ->
|
||||||
resin = require('resin-sdk-preconfigured')
|
resin = require('resin-sdk').fromSharedOptions()
|
||||||
resin.models.application.restart(params.name).nodeify(done)
|
resin.models.application.restart(params.name).nodeify(done)
|
||||||
|
|
||||||
exports.remove =
|
exports.remove =
|
||||||
@ -149,7 +153,7 @@ exports.remove =
|
|||||||
options: [ commandOptions.yes ]
|
options: [ commandOptions.yes ]
|
||||||
permission: 'user'
|
permission: 'user'
|
||||||
action: (params, options, done) ->
|
action: (params, options, done) ->
|
||||||
resin = require('resin-sdk-preconfigured')
|
resin = require('resin-sdk').fromSharedOptions()
|
||||||
patterns = require('../utils/patterns')
|
patterns = require('../utils/patterns')
|
||||||
|
|
||||||
patterns.confirm(options.yes, 'Are you sure you want to delete the application?').then ->
|
patterns.confirm(options.yes, 'Are you sure you want to delete the application?').then ->
|
||||||
|
@ -18,11 +18,13 @@ import _ = require('lodash');
|
|||||||
import Promise = require('bluebird');
|
import Promise = require('bluebird');
|
||||||
import form = require('resin-cli-form');
|
import form = require('resin-cli-form');
|
||||||
import visuals = require('resin-cli-visuals');
|
import visuals = require('resin-cli-visuals');
|
||||||
import resin = require('resin-sdk-preconfigured');
|
import ResinSdk = require('resin-sdk');
|
||||||
import chalk from 'chalk';
|
import chalk from 'chalk';
|
||||||
import validation = require('./validation');
|
import validation = require('./validation');
|
||||||
import messages = require('./messages');
|
import messages = require('./messages');
|
||||||
|
|
||||||
|
const resin = ResinSdk.fromSharedOptions();
|
||||||
|
|
||||||
export function authenticate(options: {}): Promise<void> {
|
export function authenticate(options: {}): Promise<void> {
|
||||||
return form
|
return form
|
||||||
.run(
|
.run(
|
||||||
@ -96,11 +98,14 @@ export function askLoginType() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function selectDeviceType() {
|
export function selectDeviceType() {
|
||||||
return resin.models.device.getSupportedDeviceTypes().then(deviceTypes => {
|
return resin.models.config.getDeviceTypes().then(deviceTypes => {
|
||||||
return form.ask({
|
return form.ask({
|
||||||
message: 'Device Type',
|
message: 'Device Type',
|
||||||
type: 'list',
|
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
|
return resin.models.application
|
||||||
.hasAny()
|
.hasAny()
|
||||||
.then(function(hasAnyApplications) {
|
.then(function(hasAnyApplications) {
|
||||||
@ -161,7 +168,7 @@ export function selectOrCreateApplication() {
|
|||||||
|
|
||||||
return resin.models.application.getAll().then(applications => {
|
return resin.models.application.getAll().then(applications => {
|
||||||
const appOptions = _.map<
|
const appOptions = _.map<
|
||||||
resin.Application,
|
ResinSdk.Application,
|
||||||
{ name: string; value: string | null }
|
{ name: string; value: string | null }
|
||||||
>(applications, application => ({
|
>(applications, application => ({
|
||||||
name: `${application.app_name} (${application.device_type})`,
|
name: `${application.app_name} (${application.device_type})`,
|
||||||
@ -223,7 +230,7 @@ export function awaitDevice(uuid: string) {
|
|||||||
export function inferOrSelectDevice(preferredUuid: string) {
|
export function inferOrSelectDevice(preferredUuid: string) {
|
||||||
return resin.models.device
|
return resin.models.device
|
||||||
.getAll()
|
.getAll()
|
||||||
.filter<resin.Device>(device => device.is_online)
|
.filter<ResinSdk.Device>(device => device.is_online)
|
||||||
.then(onlineDevices => {
|
.then(onlineDevices => {
|
||||||
if (_.isEmpty(onlineDevices)) {
|
if (_.isEmpty(onlineDevices)) {
|
||||||
throw new Error("You don't have any devices online");
|
throw new Error("You don't have any devices online");
|
||||||
@ -240,7 +247,10 @@ export function inferOrSelectDevice(preferredUuid: string) {
|
|||||||
type: 'list',
|
type: 'list',
|
||||||
default: defaultUuid,
|
default: defaultUuid,
|
||||||
choices: _.map(onlineDevices, device => ({
|
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,
|
value: device.uuid,
|
||||||
})),
|
})),
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user