@flxbl-io/sfp
Version:
sfp is a CLI tool to help you manage your Salesforce projects in an artifact centric model
62 lines • 4.94 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 sfp_logger_1 = __importStar(require("@flxbl-io/sfp-logger"));
const QueryHelper_1 = __importDefault(require("../queryHelper/QueryHelper"));
const Delay_1 = require("../utils/Delay");
const psGroupQuery = `SELECT Id,MasterLabel,Status FROM PermissionSetGroup WHERE Status IN ('Updating', 'Outdated')`;
class PermissionSetGroupUpdateAwaiter {
constructor(connection, logger, intervalBetweenRepeats = 60000) {
this.connection = connection;
this.logger = logger;
this.intervalBetweenRepeats = intervalBetweenRepeats;
}
async waitTillAllPermissionSetGroupIsUpdated() {
sfp_logger_1.default.log(`Checking status of permission sets group..`, sfp_logger_1.LoggerLevel.INFO, this.logger);
while (true) {
try {
let records = await QueryHelper_1.default.query(psGroupQuery, this.connection, false);
if (records.length > 0) {
sfp_logger_1.default.log(`Pausing deployment as ${records.length} PermissionSetGroups are being updated`, sfp_logger_1.LoggerLevel.INFO, this.logger);
sfp_logger_1.default.log(`Retrying for status in next ${this.intervalBetweenRepeats / 1000} seconds`, sfp_logger_1.LoggerLevel.INFO, this.logger);
await (0, Delay_1.delay)(this.intervalBetweenRepeats);
}
else {
sfp_logger_1.default.log(`Proceeding with deployment, as no PermissionSetGroups are being updated`, sfp_logger_1.LoggerLevel.INFO, this.logger);
break;
}
}
catch (error) {
sfp_logger_1.default.log(`Unable to fetch permission group status ${error}`, sfp_logger_1.LoggerLevel.TRACE, this.logger);
throw error;
}
}
}
}
exports.default = PermissionSetGroupUpdateAwaiter;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVybWlzc2lvblNldEdyb3VwVXBkYXRlQXdhaXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL3Blcm1zZXRzL1Blcm1pc3Npb25TZXRHcm91cFVwZGF0ZUF3YWl0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLG1FQUFzRTtBQUN0RSw2RUFBcUQ7QUFDckQsMENBQXVDO0FBRXZDLE1BQU0sWUFBWSxHQUFHLCtGQUErRixDQUFDO0FBRXJILE1BQXFCLCtCQUErQjtJQUNoRCxZQUFvQixVQUFzQixFQUFVLE1BQWMsRUFBVSx5QkFBeUIsS0FBSztRQUF0RixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBUTtJQUFHLENBQUM7SUFFOUcsS0FBSyxDQUFDLHNDQUFzQztRQUN4QyxvQkFBUyxDQUFDLEdBQUcsQ0FDVCw0Q0FBNEMsRUFDNUMsd0JBQVcsQ0FBQyxJQUFJLEVBQ2hCLElBQUksQ0FBQyxNQUFNLENBQ2QsQ0FBQztRQUNGLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLENBQUM7Z0JBQ0QsSUFBSSxPQUFPLEdBQUcsTUFBTSxxQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDNUUsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNyQixvQkFBUyxDQUFDLEdBQUcsQ0FDVCx5QkFBeUIsT0FBTyxDQUFDLE1BQU0sd0NBQXdDLEVBQy9FLHdCQUFXLENBQUMsSUFBSSxFQUNoQixJQUFJLENBQUMsTUFBTSxDQUNkLENBQUM7b0JBQ0Ysb0JBQVMsQ0FBQyxHQUFHLENBQ1QsK0JBQStCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLFVBQVUsRUFDM0Usd0JBQVcsQ0FBQyxJQUFJLEVBQ2hCLElBQUksQ0FBQyxNQUFNLENBQ2QsQ0FBQztvQkFDRixNQUFNLElBQUEsYUFBSyxFQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO2dCQUM3QyxDQUFDO3FCQUFNLENBQUM7b0JBQ0osb0JBQVMsQ0FBQyxHQUFHLENBQ1QseUVBQXlFLEVBQ3pFLHdCQUFXLENBQUMsSUFBSSxFQUNoQixJQUFJLENBQUMsTUFBTSxDQUNkLENBQUM7b0JBQ0YsTUFBTTtnQkFDVixDQUFDO1lBQ0wsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2Isb0JBQVMsQ0FBQyxHQUFHLENBQUMsMkNBQTJDLEtBQUssRUFBRSxFQUFFLHdCQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbEcsTUFBTSxLQUFLLENBQUM7WUFDaEIsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUF0Q0Qsa0RBc0NDIn0=