| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  | /* | 
					
						
							| 
									
										
										
										
											2015-09-04 14:12:20 -04:00
										 |  |  |  * This Source Code Form is subject to the terms of the Mozilla Public | 
					
						
							|  |  |  |  * License, v. 2.0. If a copy of the MPL was not distributed with this | 
					
						
							|  |  |  |  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  |  * Copyright 2015 Joyent, Inc. | 
					
						
							| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2016-01-04 22:51:04 -08:00
										 |  |  |  * `triton account get ...` | 
					
						
							| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-04 22:51:04 -08:00
										 |  |  | var common = require('../common'); | 
					
						
							| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-04 22:51:04 -08:00
										 |  |  | function do_get(subcmd, opts, args, callback) { | 
					
						
							| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  |     if (opts.help) { | 
					
						
							|  |  |  |         this.do_help('help', {}, [subcmd], callback); | 
					
						
							|  |  |  |         return; | 
					
						
							|  |  |  |     } else if (args.length !== 0) { | 
					
						
							|  |  |  |         callback(new Error('invalid args: ' + args)); | 
					
						
							|  |  |  |         return; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-13 13:04:41 -05:00
										 |  |  |     var tritonapi = this.top.tritonapi; | 
					
						
							|  |  |  |     common.cliSetupTritonApi({cli: this.top}, function onSetup(setupErr) { | 
					
						
							|  |  |  |         if (setupErr) { | 
					
						
							|  |  |  |             callback(setupErr); | 
					
						
							| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2016-12-13 13:04:41 -05:00
										 |  |  |         tritonapi.cloudapi.getAccount(function (err, account) { | 
					
						
							|  |  |  |             if (err) { | 
					
						
							|  |  |  |                 callback(err); | 
					
						
							|  |  |  |                 return; | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-13 13:04:41 -05:00
										 |  |  |             if (opts.json) { | 
					
						
							|  |  |  |                 console.log(JSON.stringify(account)); | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 // pretty print
 | 
					
						
							|  |  |  |                 var dates = ['updated', 'created']; | 
					
						
							|  |  |  |                 Object.keys(account).forEach(function (key) { | 
					
						
							|  |  |  |                     var val = account[key]; | 
					
						
							|  |  |  |                     if (dates.indexOf(key) >= 0) { | 
					
						
							|  |  |  |                         console.log('%s: %s (%s)', key, val, | 
					
						
							|  |  |  |                                     common.longAgo(new Date(val))); | 
					
						
							|  |  |  |                     } else { | 
					
						
							|  |  |  |                         console.log('%s: %s', key, val); | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 }); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             callback(); | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  |     }); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-04 22:51:04 -08:00
										 |  |  | do_get.options = [ | 
					
						
							| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  |     { | 
					
						
							|  |  |  |         names: ['help', 'h'], | 
					
						
							|  |  |  |         type: 'bool', | 
					
						
							|  |  |  |         help: 'Show this help.' | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         names: ['json', 'j'], | 
					
						
							|  |  |  |         type: 'bool', | 
					
						
							|  |  |  |         help: 'JSON output.' | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | ]; | 
					
						
							| 
									
										
										
										
											2016-06-08 14:13:16 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | do_get.synopses = ['{{name}} {{cmd}}']; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | do_get.help = [ | 
					
						
							|  |  |  |     'Show account information', | 
					
						
							|  |  |  |     '', | 
					
						
							|  |  |  |     '{{usage}}', | 
					
						
							|  |  |  |     '', | 
					
						
							|  |  |  |     '{{options}}' | 
					
						
							|  |  |  | ].join('\n'); | 
					
						
							| 
									
										
										
										
											2015-08-25 23:44:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-04 22:51:04 -08:00
										 |  |  | module.exports = do_get; |