UNPKG

@rockset/cli

Version:
54 lines (53 loc) 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@oclif/core"); const core_2 = require("@rockset/core"); const base_command_1 = require("../../../base-command"); const prompts = require("prompts"); let CleanEntities = /** @class */ (() => { class CleanEntities extends base_command_1.RockCommand { async run() { const { flags, args } = await this.parse(CleanEntities); // Will throw for invalid qualified name const qualifiedName = core_2.types.parseLambdaQualifiedName(args.name); if (flags.yes) { await core_2.main.deleteQueryLambdas({ lambda: qualifiedName }); } else { const message = `WARNING: This operation will delete ${qualifiedName}, and all associated files in the current project, and can result in a loss of work. Are you sure you would like to proceed?`; const { c } = (await prompts({ type: 'confirm', name: 'c', initial: false, message, })); if (c) { await core_2.main.deleteQueryLambdas({ lambda: qualifiedName }); } } } } CleanEntities.flags = { help: core_1.Flags.help({ char: 'h' }), yes: core_1.Flags.boolean({ char: 'y', default: false, description: 'bypass the safety checks, and automatically engage in dangerous actions', }), }; CleanEntities.args = [ { name: 'name', required: true, hidden: false, description: 'the fully qualified name of the lambda you wish to delete (eg. "{workspace}.{name}") ', }, ]; CleanEntities.description = `delete a Query Lambda from the current project`; CleanEntities.examples = [ `$ rockset local:queryLambda:delete commons.foo ✔ WARNING: This operation will delete commons.foo, and all associated files in the current project, and can result in a loss of work. Are you sure you would like to proceed? … no`, ]; return CleanEntities; })(); exports.default = CleanEntities;