UNPKG

@flxbl-io/sfp

Version:

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

50 lines 4.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const retry = require('async-retry'); class PreRequisiteCheck { constructor(hubOrg) { this.hubOrg = hubOrg; } async checkForPrerequisites() { let sfdxAuthUrlFieldExists = false; let conn = this.hubOrg.getConnection(); let expectedValues = ['In Progress', 'Available', 'Allocate', 'Assigned', 'Return']; let availableValues = []; if (!PreRequisiteCheck.isPrerequisiteChecked) { await retry(async (bail) => { PreRequisiteCheck.describeResult = await conn.sobject('ScratchOrgInfo').describe(); if (PreRequisiteCheck.describeResult) { for (const field of PreRequisiteCheck.describeResult.fields) { if (field.name === 'SfdxAuthUrl__c') { sfdxAuthUrlFieldExists = true; } if (field.name === 'Allocation_status__c' && field.picklistValues.length >= 4) { for (let picklistValue of field.picklistValues) { if (picklistValue.active) { availableValues.push(picklistValue.value); } } } } } }, { retries: 3, minTimeout: 30000 }); PreRequisiteCheck.isPrerequisiteChecked = true; //If there are values returned, its not compatible let statusValuesAvailable = expectedValues.filter((item) => { return !availableValues.includes(item); }).length <= 1 ? true : false; if (sfdxAuthUrlFieldExists && statusValuesAvailable) PreRequisiteCheck.isPrerequisiteMet = true; } if (!PreRequisiteCheck.isPrerequisiteMet) { throw new Error(`Required Prerequisite values in ScratchOrgInfo is missing in the DevHub` + `For more information Please refer https://docs.flxbl.io/sfp/pools/setting-up-your-salesforce-org-for-scratch-org-pools \n`); } } } PreRequisiteCheck.isPrerequisiteChecked = false; PreRequisiteCheck.isPrerequisiteMet = false; exports.default = PreRequisiteCheck; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJlUmVxdWlzaXRlQ2hlY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zY3JhdGNob3JnL3Bvb2wvcHJlcXVpc2l0ZWNoZWNrL1ByZVJlcXVpc2l0ZUNoZWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBS3JDLE1BQXFCLGlCQUFpQjtJQU9sQyxZQUFZLE1BQVc7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUVNLEtBQUssQ0FBQyxxQkFBcUI7UUFDOUIsSUFBSSxzQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDbkMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QyxJQUFJLGNBQWMsR0FBRyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUNuRixJQUFJLGVBQWUsR0FBYSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDM0MsTUFBTSxLQUFLLENBQ1AsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUNYLGlCQUFpQixDQUFDLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbkYsSUFBSSxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDbkMsS0FBSyxNQUFNLEtBQUssSUFBSSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQzFELElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsRUFBRSxDQUFDOzRCQUNsQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7d0JBQ2xDLENBQUM7d0JBRUQsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLHNCQUFzQixJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDOzRCQUM1RSxLQUFLLElBQUksYUFBYSxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQ0FDN0MsSUFBSSxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7b0NBQ3ZCLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dDQUM5QyxDQUFDOzRCQUNMLENBQUM7d0JBQ0wsQ0FBQztvQkFDTCxDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDLEVBQ0QsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FDcEMsQ0FBQztZQUVGLGlCQUFpQixDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztZQUMvQyxrREFBa0Q7WUFDbEQsSUFBSSxxQkFBcUIsR0FDckIsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUMzQixPQUFPLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQztnQkFDVixDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsS0FBSyxDQUFDO1lBRWhCLElBQUksc0JBQXNCLElBQUkscUJBQXFCO2dCQUFFLGlCQUFpQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUNwRyxDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBRSx5RUFBeUU7Z0JBQ3pFLDJIQUEySCxDQUFDLENBQUM7UUFDcEosQ0FBQztJQUNMLENBQUM7O0FBdERjLHVDQUFxQixHQUFZLEtBQUssQ0FBQztBQUN2QyxtQ0FBaUIsR0FBRyxLQUFLLENBQUM7a0JBRnhCLGlCQUFpQiJ9