@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
124 lines • 11 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@salesforce/core");
const PoolDeleteImpl_1 = __importDefault(require("../../core/scratchorg/pool/PoolDeleteImpl"));
const OrphanedOrgsDeleteImpl_1 = __importDefault(require("../../core/scratchorg/pool/OrphanedOrgsDeleteImpl"));
const SfpCommand_1 = __importDefault(require("../../SfpCommand"));
const TableConstants_1 = require("../../ui/TableConstants");
const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
const sfp_logger_2 = require("@flxbl-io/sfp-logger");
const sfp_logger_3 = require("@flxbl-io/sfp-logger");
const core_2 = require("@oclif/core");
const sfdxflags_1 = require("../../flags/sfdxflags");
const Table = require('cli-table');
// Initialize Messages with the current plugin directory
core_1.Messages.importMessagesDirectory(__dirname);
// Load the specific messages for this file. Messages from @salesforce/command, @salesforce/core,
// or any library that is using the messages framework can also be loaded this way.
const messages = core_1.Messages.loadMessages('@flxbl-io/sfp', 'pool_delete');
class Delete extends SfpCommand_1.default {
async execute() {
await this.hubOrg.refreshAuth();
const hubConn = this.hubOrg.getConnection();
this.flags.apiversion = this.flags.apiversion || (await hubConn.retrieveMaxApiVersion());
let scratchOrgOperationResults = [];
//User want to delete orphans only
if (this.flags.orphans && !this.flags.tag) {
let orphanedOrgsDeleteImpl = new OrphanedOrgsDeleteImpl_1.default(this.hubOrg, new sfp_logger_1.ConsoleLogger());
let recoveredScratchOrgs = (await orphanedOrgsDeleteImpl.execute());
this.pushToResults('recovered', recoveredScratchOrgs, scratchOrgOperationResults);
}
else {
let poolDeleteImpl = new PoolDeleteImpl_1.default(this.hubOrg, this.flags.tag, this.flags.mypool, this.flags.allscratchorgs, this.flags.inprogressonly, new sfp_logger_1.ConsoleLogger());
let deletedOrgs = (await poolDeleteImpl.execute());
this.pushToResults('deleted', deletedOrgs, scratchOrgOperationResults);
let orphanedOrgsDeleteImpl = new OrphanedOrgsDeleteImpl_1.default(this.hubOrg, new sfp_logger_1.ConsoleLogger());
let recoverdScratchOrgs = (await orphanedOrgsDeleteImpl.execute());
this.pushToResults('recovered', recoverdScratchOrgs, scratchOrgOperationResults);
}
this.displayScrathOrgOperationsAsTable(scratchOrgOperationResults);
return scratchOrgOperationResults;
}
pushToResults(operation, scratchOrgs, result) {
for (const scratchOrg of scratchOrgs) {
result.push({ orgId: scratchOrg.orgId, username: scratchOrg.username, operation: operation });
}
}
displayScrathOrgOperationsAsTable(scratchOrgOperationResults) {
const table = new Table({
head: ['Operation', 'OrgId', 'Username'],
chars: TableConstants_1.ZERO_BORDER_TABLE,
});
if (scratchOrgOperationResults.length > 0) {
scratchOrgOperationResults.forEach((scratchOrgOperation) => {
table.push([(0, sfp_logger_2.COLOR_KEY_MESSAGE)(scratchOrgOperation.operation), scratchOrgOperation.orgId, scratchOrgOperation.username]);
});
sfp_logger_1.default.log(`The command resulted in the following operation`, sfp_logger_1.LoggerLevel.INFO, new sfp_logger_1.ConsoleLogger());
sfp_logger_1.default.log(table.toString(), sfp_logger_1.LoggerLevel.INFO, new sfp_logger_1.ConsoleLogger());
}
else {
sfp_logger_1.default.log(`${(0, sfp_logger_3.COLOR_WARNING)(`No Scratch Orgs were found to be operated upon, The command will now exit`)}`, sfp_logger_1.LoggerLevel.INFO, new sfp_logger_1.ConsoleLogger());
}
}
}
Delete.description = messages.getMessage('commandDescription');
Delete.requiresDevhubUsername = true;
Delete.examples = [
`$ sfp pool:delete -t core `,
`$ sfp pool:delete -t core -v devhub`,
`$ sfp pool:delete --orphans -v devhub`,
];
Delete.flags = {
targetdevhubusername: sfdxflags_1.targetdevhubusername,
tag: core_2.Flags.string({
char: 't',
description: messages.getMessage('tagDescription'),
required: false,
}),
allscratchorgs: core_2.Flags.boolean({
char: 'a',
description: messages.getMessage('allscratchorgsDescription'),
required: false,
}),
inprogressonly: core_2.Flags.boolean({
char: 'i',
description: messages.getMessage('inprogressonlyDescription'),
required: false,
exclusive: ['allscratchorgs'],
}),
orphans: core_2.Flags.boolean({
char: 'o',
description: messages.getMessage('recoverOrphanedScratchOrgsDescription'),
required: false,
}),
'apiversion': sfdxflags_1.orgApiVersionFlagSfdxStyle,
loglevel: sfdxflags_1.loglevel,
};
exports.default = Delete;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3Bvb2wvZGVsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNEM7QUFDNUMsK0ZBQXVFO0FBQ3ZFLCtHQUF1RjtBQUV2RixrRUFBMEM7QUFDMUMsNERBQTREO0FBQzVELG1FQUE2RTtBQUM3RSxxREFBeUQ7QUFDekQscURBQXFEO0FBQ3JELHNDQUFvQztBQUNwQyxxREFBbUc7QUFDbkcsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRW5DLHdEQUF3RDtBQUN4RCxlQUFRLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFNUMsaUdBQWlHO0FBQ2pHLG1GQUFtRjtBQUNuRixNQUFNLFFBQVEsR0FBRyxlQUFRLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUV2RSxNQUFxQixNQUFPLFNBQVEsb0JBQVU7SUFzQ25DLEtBQUssQ0FBQyxPQUFPO1FBQ2hCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRTVDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBRXpGLElBQUksMEJBQTBCLEdBQTZELEVBQUUsQ0FBQztRQUM5RixrQ0FBa0M7UUFDbEMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDeEMsSUFBSSxzQkFBc0IsR0FBRyxJQUFJLGdDQUFzQixDQUFD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