@rockset/cli
Version:
Official Rockset CLI
54 lines (53 loc) • 2.25 kB
JavaScript
;
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;