salesforce-alm
Version:
This package contains tools, and APIs, for an improved salesforce.com developer experience.
56 lines (54 loc) • 2.42 kB
JavaScript
;
/*
* Copyright (c) 2020, salesforce.com, inc.
* All rights reserved.
* Licensed under the BSD 3-Clause license.
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
*/
// Node
const util = require("util");
// Local
const logger = require("../core/logApi");
const messages = require("../messages");
const Package1VersionListApi = function (org) {
this.releaseOrg = org;
this.force = this.releaseOrg.force;
this.messages = messages(this.force.config.getLocale());
this.logger = logger.child('Package1VersionListApi');
};
/**
* Lists package versions available in dev org. If package ID is supplied, only list versions of that package,
* otherwise, list all package versions
*
* @param metadataPackageId: optional, if present ID of package to list versions for (starts with 033)
* @returns Array of package version results
*/
Package1VersionListApi.prototype.list = function (metadataPackageId) {
const selectClause = 'SELECT Id,MetadataPackageId,Name,ReleaseState,MajorVersion,MinorVersion,PatchVersion,BuildNumber FROM MetadataPackageVersion';
const whereClause = util.isNullOrUndefined(metadataPackageId)
? ''
: ` WHERE MetadataPackageId = '${metadataPackageId}'`;
const orderByClause = ' ORDER BY MetadataPackageId, MajorVersion, MinorVersion, PatchVersion, BuildNumber';
const query = `${selectClause}${whereClause}${orderByClause}`;
return this.force.toolingQuery(this.releaseOrg, query).then((queryResult) => {
const results = [];
const records = queryResult.records;
if (!util.isNullOrUndefined(records)) {
for (let i = 0; i < records.length; i++) {
const record = queryResult.records[i];
// TODO: In 208, will add package description
results.push({
MetadataPackageVersionId: record.Id,
MetadataPackageId: record.MetadataPackageId,
Name: record.Name,
ReleaseState: record.ReleaseState,
Version: `${record.MajorVersion}.${record.MinorVersion}.${record.PatchVersion}`,
BuildNumber: record.BuildNumber,
});
}
}
return results;
});
};
module.exports = Package1VersionListApi;
//# sourceMappingURL=package1VersionListApi.js.map