UNPKG

@flxbl-io/sfp

Version:

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

84 lines 7.25 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const QueryHelper_1 = __importDefault(require("../../queryHelper/QueryHelper")); const semver_1 = __importDefault(require("semver")); /** * Fetcher for second-generation package version in Dev Hub */ class Package2VersionFetcher { constructor(conn) { this.conn = conn; this.query = 'Select SubscriberPackageVersionId, Package2Id, Package2.Name, IsPasswordProtected, IsReleased, MajorVersion, MinorVersion, PatchVersion, BuildNumber, CodeCoverage, HasPassedCodeCoverageCheck, Branch from Package2Version '; } /** * Fetch Package2 versions by Package2 Id * Sorts by semantic version, in descending order * @param package2Id * @param versionNumber * @param isValidatedPackages * @returns */ async fetchByPackage2Id(package2Id, versionNumber, isValidatedPackages, isReleased) { let query = this.query; let whereClause = `where Package2Id='${package2Id}' `; if (versionNumber) { // TODO: validate version number const versions = versionNumber.split('.'); if (versions[0]) whereClause += `and MajorVersion=${versions[0]} `; if (versions[1]) whereClause += `and MinorVersion=${versions[1]} `; if (versions[2]) whereClause += `and PatchVersion=${versions[2]} `; if (versions[3]) whereClause += `and BuildNumber=${versions[3]} `; } if (isValidatedPackages) whereClause += `and ValidationSkipped = false `; if (isReleased) whereClause += `and IsReleased = true `; whereClause += `and IsDeprecated = false `; query += whereClause; const records = await QueryHelper_1.default.query(query, this.conn, true); if (records.length > 1) { return records.sort((a, b) => { const v1 = `${a.MajorVersion}.${a.MinorVersion}.${a.PatchVersion}-${a.BuildNumber}`; const v2 = `${b.MajorVersion}.${b.MinorVersion}.${b.PatchVersion}-${b.BuildNumber}`; return semver_1.default.rcompare(v1, v2); }); } else return records; } async fetchBySubscriberPackageVersionId(subscriberPackageVersionId) { let query = this.query; let whereClause = `where SubscriberPackageVersionId='${subscriberPackageVersionId}'`; query += whereClause; const records = await QueryHelper_1.default.query(query, this.conn, true); return records[0]; } async fetchByPackageBranchAndName(packageBranch, packageName, versionNumber) { let query = this.query; let whereClause = `where Branch='${packageBranch}' and Package2.Name ='${packageName}' `; if (versionNumber) { // TODO: validate version number const versions = versionNumber.split('.'); if (versions[0]) whereClause += `and MajorVersion=${versions[0]} `; if (versions[1]) whereClause += `and MinorVersion=${versions[1]} `; if (versions[2]) whereClause += `and PatchVersion=${versions[2]} `; } query += whereClause; let orderByClause = `order by CreatedDate desc`; query += orderByClause; const records = await QueryHelper_1.default.query(query, this.conn, true); return records; } } exports.default = Package2VersionFetcher; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFja2FnZTJWZXJzaW9uRmV0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlL3BhY2thZ2UvdmVyc2lvbi9QYWNrYWdlMlZlcnNpb25GZXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsZ0ZBQXdEO0FBQ3hELG9EQUE0QjtBQUU1Qjs7R0FFRztBQUNILE1BQXFCLHNCQUFzQjtJQUl2QyxZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSG5CLFVBQUssR0FDbEIsOE5BQThOLENBQUM7SUFFNUwsQ0FBQztJQUV4Qzs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQixDQUNuQixVQUFrQixFQUNsQixhQUFzQixFQUN0QixtQkFBNkIsRUFDN0IsVUFBb0I7UUFFcEIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUV2QixJQUFJLFdBQVcsR0FBVyxxQkFBcUIsVUFBVSxLQUFLLENBQUM7UUFFL0QsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNoQixnQ0FBZ0M7WUFDaEMsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUUxQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsV0FBVyxJQUFJLG9CQUFvQixRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNuRSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsV0FBVyxJQUFJLG9CQUFvQixRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNuRSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsV0FBVyxJQUFJLG9CQUFvQixRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNuRSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsV0FBVyxJQUFJLG1CQUFtQixRQUFRLENBQUMsQ0FBQyxDQUFD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