UNPKG

@flxbl-io/sfp

Version:

sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model

108 lines 8.63 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 }); exports.getFlowDefinition = getFlowDefinition; exports.getFlowsByDefinition = getFlowsByDefinition; exports.deleteFlows = deleteFlows; exports.deactivate = deactivate; exports.activate = activate; const sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger")); const QueryHelper_1 = __importDefault(require("../queryHelper/QueryHelper")); const retry = require('async-retry'); async function getFlowDefinition(opts, org, logger) { const { developername, namespaceprefix } = opts; const conn = org.getConnection(); let flowDefinitionQuery = `Select Id, ActiveVersionId, DeveloperName, NamespacePrefix, LatestVersionId, LatestVersion.VersionNumber from FlowDefinition where DeveloperName = '${developername}'`; if (namespaceprefix) { flowDefinitionQuery += ` AND NamespacePrefix = '${namespaceprefix}'`; } // Query the org const records = await QueryHelper_1.default.query(flowDefinitionQuery, conn, true); if (!records || records.length <= 0) { throw new Error(`Could not find a definition for flow ${[developername]} in the org.`); } return records[0]; } async function getFlowsByDefinition(flowdefinition, org, logger) { const conn = org.getConnection(); let flowQuery = `Select Id, VersionNumber, MasterLabel from Flow where DefinitionId = '${flowdefinition.Id}'`; if (flowdefinition.NamespacePrefix) { flowQuery += ` AND Definition.NamespacePrefix = '${flowdefinition.NamespacePrefix}'`; } // Query the org const records = await QueryHelper_1.default.query(flowQuery, conn, true); if (!records || records.length <= 0) { throw new Error(`Could not find a definition for flow ${[[flowdefinition.DeveloperName]]} in the org.`); } return records; } async function deleteFlows(flows, org, logger) { const flowIds = flows.map((flow) => flow.Id); const conn = org.getConnection(); const succeededFlows = []; for (let id of flowIds) { await retry(async (bail) => { const results = await conn.tooling.sobject('Flow').del(id); if (results.success) { sfp_logger_1.default.log('Deleted flow version with id: ' + id, sfp_logger_1.LoggerLevel.INFO); succeededFlows.push(id); } else { throw new Error(`Unable to delete flow version with id: ${id},retrying in 5 seconds...`); } }, { retries: 3, minTimeout: 5000 }); } return succeededFlows; } async function deactivate(flow, org) { const conn = org.getConnection(); const flowResult = await conn.tooling.sobject('FlowDefinition').update({ Id: flow.Id, Metadata: { activeVersionNumber: '', }, }); if (!flowResult || !flowResult.success) { throw new Error(`Unable to deactivate flow ${[flow.DeveloperName]}.`); } return flowResult; } async function activate(flow, org) { const conn = org.getConnection(); const flowResult = await conn.tooling.sobject('FlowDefinition').update({ Id: flow.Id, Metadata: { activeVersionNumber: flow.LatestVersion.VersionNumber, }, }); if (!flowResult || !flowResult.success) { throw new Error(`Unable to activate flow ${[flow.DeveloperName]}.`); } return flowResult; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmxvd09wZXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9mbG93cy9GbG93T3BlcmF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsOENBaUJDO0FBRUQsb0RBa0JDO0FBRUQsa0NBbUJDO0FBRUQsZ0NBYUM7QUFFRCw0QkFhQztBQTVGRCxtRUFBc0U7QUFDdEUsNkVBQXFEO0FBQ3JELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUU5QixLQUFLLFVBQVUsaUJBQWlCLENBQUMsSUFBaUIsRUFBRSxHQUFXLEVBQUUsTUFBZTtJQUNuRixNQUFNLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQztJQUNoRCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFFakMsSUFBSSxtQkFBbUIsR0FBRyx1SkFBdUosYUFBYSxHQUFHLENBQUM7SUFFbE0sSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNsQixtQkFBbUIsSUFBSSwyQkFBMkIsZUFBZSxHQUFHLENBQUM7SUFDekUsQ0FBQztJQUNELGdCQUFnQjtJQUNoQixNQUFNLE9BQU8sR0FBRyxNQUFNLHFCQUFXLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUV6RSxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBbUIsQ0FBQztBQUN4QyxDQUFDO0FBRU0sS0FBSyxVQUFVLG9CQUFvQixDQUN0QyxjQUE4QixFQUM5QixHQUFXLEVBQ1gsTUFBYztJ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