UNPKG

@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
"use strict"; 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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