@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
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 });
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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