2016-01-11 19:58:35 +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 .
* /
2015-02-26 15:47:56 +00:00
( function ( ) {
exports . set = {
signature : 'note <|note>' ,
description : 'set a device note' ,
2016-01-21 14:23:40 +00:00
help : 'Use this command to set or update a device note.\n\nIf note command isn\'t passed, the tool attempts to read from `stdin`.\n\nTo view the notes, use $ resin device <uuid>.\n\nExamples:\n\n $ resin note "My useful note" --device 7cf02a6\n $ cat note.txt | resin note --device 7cf02a6' ,
2015-02-26 15:47:56 +00:00
options : [
{
signature : 'device' ,
parameter : 'device' ,
2015-07-22 22:06:53 +00:00
description : 'device uuid' ,
2015-02-26 15:47:56 +00:00
alias : [ 'd' , 'dev' ] ,
required : 'You have to specify a device'
}
] ,
permission : 'user' ,
action : function ( params , options , done ) {
2015-12-07 14:32:24 +00:00
var Promise , _ , resin ;
Promise = require ( 'bluebird' ) ;
_ = require ( 'lodash' ) ;
resin = require ( 'resin-sdk' ) ;
2015-08-13 18:12:22 +00:00
return Promise [ "try" ] ( function ( ) {
if ( _ . isEmpty ( params . note ) ) {
throw new Error ( 'Missing note content' ) ;
}
return resin . models . device . note ( options . device , params . note ) ;
} ) . nodeify ( done ) ;
2015-02-26 15:47:56 +00:00
}
} ;
} ) . call ( this ) ;