1 | var Domo = require('ryuu-client-beta');
|
2 | var Login = require('../util/login');
|
3 | var design = require('../util/design');
|
4 | var log = require('../util/log');
|
5 | var evoke = require('../util/evoke');
|
6 | var inquirer = require('inquirer');
|
7 | var constants = require('../util/constants');
|
8 |
|
9 | module.exports = function(program) {
|
10 | program
|
11 | .command('undelete [id]')
|
12 | .description('undelete a soft-deleted design')
|
13 | .action(function(arg, options) {
|
14 |
|
15 | var designId = design.getDesignId(arg, null, program.manifest);
|
16 |
|
17 | inquirer.prompt([{
|
18 | type: 'confirm',
|
19 | message: 'Are you sure you want to undelete design with id: ' + designId + '?',
|
20 | name: 'undelete',
|
21 | default: true
|
22 | }], handleUserResponse);
|
23 |
|
24 | function handleUserResponse(answer) {
|
25 | if (answer.undelete) {
|
26 | var login = Login.getMostRecentLogin();
|
27 | Login.verifyLogin(login);
|
28 |
|
29 | var domo = new Domo(login.instance, login.refreshToken, constants.CLIENT_ID);
|
30 |
|
31 | domo.unDeleteDesign(designId)
|
32 | .tap(evoke(log.ok, 'Undeleted design ' + designId))
|
33 | .catch(evoke(log.clientRequestFailed, 'Unable to undelete design ' + designId))
|
34 | .finally(process.exit);
|
35 | } else {
|
36 | log.fail('Undelete command aborted');
|
37 | }
|
38 | }
|
39 |
|
40 | });
|
41 | }
|