ryuu
Version:
Domo App Dev Studio CLI, The main tool used to create, edit, and publish app designs to Domo
42 lines • 1.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const login_1 = require("../util/login");
const design_1 = require("../util/design");
const log_1 = require("../util/log");
const prompts_1 = require("../util/prompts");
module.exports = (program) => {
program
.command('delete [id]')
.description('delete a published design by its id')
.option('-f, --force', 'Delete the design even if it is referenced by Custom Apps')
.option('-c, --confirm', 'Auto confirm deleting the app')
.action(async (arg, options) => {
const designId = (0, design_1.getDesignId)(arg, program.opts().manifest);
const handleUserResponse = (answer) => {
if (answer.delete) {
new login_1.Login()
.getClient()
.then(client => {
client
.deleteDesign(designId, options['force'] ? true : false)
.then(() => log_1.log.ok(`Deleted design ${designId}`))
.catch(() => log_1.log.fail(`Unable to delete design
${designId}. That id does not exist or you are not authorized to delete it.`))
.finally(process.exit);
})
.catch(log_1.log.notAuthenticated);
}
else {
log_1.log.fail('Delete command aborted');
}
};
if (options['confirm']) {
handleUserResponse({ delete: true });
}
else {
const shouldDelete = await (0, prompts_1.createConfirm)(`Are you sure you want to delete design with id: ${designId}?`, false);
handleUserResponse({ delete: shouldDelete });
}
});
};
//# sourceMappingURL=delete.js.map