UNPKG

zapier-platform-cli

Version:

The CLI for apps in the Zapier Developer Platform.

42 lines (37 loc) 2.12 kB
'use strict'; var utils = require('../utils'); var deleteApp = function deleteApp(context, app) { context.line('Preparing to delete all versions of your app "' + app.title + '".\n'); utils.printStarting('Deleting app'); return utils.callAPI('/apps/' + app.id, { method: 'DELETE' }); }; var deleteVersion = function deleteVersion(context, app, version) { context.line('Preparing to delete version ' + version + ' of your app "' + app.title + '".\n'); utils.printStarting('Deleting version ' + version); return utils.callAPI('/apps/' + app.id + '/versions/' + version, { method: 'DELETE' }); }; var _delete = function _delete(context, appOrVersion, version) { var isDeletingVersion = appOrVersion === 'version'; if (isDeletingVersion && !version) { var message = 'Error: No version - provide a version like "1.0.0"...'; return Promise.reject(new Error(message)); } return utils.checkCredentials().then(function () { return utils.getLinkedApp(); }).then(function (app) { return isDeletingVersion ? deleteVersion(context, app, version) : deleteApp(context, app); }).then(function () { utils.printDone(); context.line(' Deletion successful!\n'); }); }; _delete.argsSpec = [{ name: 'appOrVersion', example: 'version', choices: ['app', 'version'], required: true, help: 'delete the whole app, or just a version?' }, { name: 'version', example: '1.0.0', required: false, help: 'the version to delete' }]; _delete.argOptsSpec = {}; _delete.help = 'Delete a version of your app (or the whole app) as long as it has no users/Zaps.'; _delete.example = 'zapier delete version 1.0.0'; _delete.docs = '\nA utility to allow deleting app versions that aren\'t used.\n\n> The app version needs to have no users/Zaps in order to be deleted.\n\n**Arguments**\n\n' + utils.argsFragment(_delete.argsSpec) + '\n' + utils.argOptsFragment(_delete.argOptsSpec) + '\n\n' + '```' + 'bash\n$ zapier delete version 1.0.0\n# Preparing to delete version 1.0.0 of your app "Example".\n#\n# Deleting 1.0.0 - done!\n# Deletion successful!\n' + '```' + '\n'; module.exports = _delete;