Skip to content

Commit

Permalink
feat: display validated-async in version list and report
Browse files Browse the repository at this point in the history
  • Loading branch information
mradulsf committed Jun 21, 2024
1 parent 1e80231 commit ce395c6
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 18 deletions.
1 change: 1 addition & 0 deletions src/interfaces/packagingInterfacesAndType.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ export type PackageVersionListResult = {
IsPasswordProtected: boolean;
AncestorId: string;
ValidationSkipped: boolean;
ValidatedAsync?: boolean;
CreatedById: string;
CodeCoverage?: {
[key: string]: unknown;
Expand Down
4 changes: 2 additions & 2 deletions src/package/packageVersionList.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ export async function listPackageVersions(
export function constructQuery(connectionVersion: number, options?: PackageVersionListOptions): string {
// construct custom WHERE clause, if applicable
const where = constructWhere(options);

let queryFields = defaultFields;
// Ensure we only include the async validation property for api version of v60.0 or higher.
let queryFields = connectionVersion > 60 ? [...defaultFields, 'ValidatedAsync'] : defaultFields;
if (options?.verbose) {
queryFields = [...queryFields, ...verboseFields];
if (connectionVersion >= 57) {
Expand Down
62 changes: 46 additions & 16 deletions src/package/packageVersionReport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,50 @@ import { Connection, Logger, SfProject } from '@salesforce/core';
import * as pkgUtils from '../utils/packageUtils';
import { PackageVersionReportResult } from '../interfaces';

const QUERY =
'SELECT Id, Package2Id, SubscriberPackageVersionId, Name, Description, Tag, Branch, AncestorId, ValidationSkipped, ' +
'MajorVersion, MinorVersion, PatchVersion, BuildNumber, IsReleased, CodeCoverage, HasPassedCodeCoverageCheck, ' +
'Package2.IsOrgDependent, ReleaseVersion, BuildDurationInSeconds, HasMetadataRemoved, CreatedById, ConvertedFromVersionId ' +
'FROM Package2Version ' +
"WHERE Id = '%s' AND IsDeprecated != true " +
'ORDER BY Package2Id, Branch, MajorVersion, MinorVersion, PatchVersion, BuildNumber';
// const QUERY =
// 'SELECT Id, Package2Id, SubscriberPackageVersionId, Name, Description, Tag, Branch, AncestorId, ValidationSkipped, ' +
// 'MajorVersion, MinorVersion, PatchVersion, BuildNumber, IsReleased, CodeCoverage, HasPassedCodeCoverageCheck, ' +
// 'Package2.IsOrgDependent, ReleaseVersion, BuildDurationInSeconds, HasMetadataRemoved, CreatedById, ConvertedFromVersionId ' +
// 'FROM Package2Version ' +
// "WHERE Id = '%s' AND IsDeprecated != true " +
// 'ORDER BY Package2Id, Branch, MajorVersion, MinorVersion, PatchVersion, BuildNumber';

// verbose adds: ConvertedFromVersionId, SubscriberPackageVersion.Dependencies
const QUERY_VERBOSE =
'SELECT Package2Id, SubscriberPackageVersionId, Name, Description, Tag, Branch, AncestorId, ValidationSkipped, ' +
'MajorVersion, MinorVersion, PatchVersion, BuildNumber, IsReleased, CodeCoverage, HasPassedCodeCoverageCheck, ConvertedFromVersionId, ' +
'Package2.IsOrgDependent, ReleaseVersion, BuildDurationInSeconds, HasMetadataRemoved, SubscriberPackageVersion.Dependencies, ' +
'CreatedById, CodeCoveragePercentages ' +
'FROM Package2Version ' +
"WHERE Id = '%s' AND IsDeprecated != true " +
'ORDER BY Package2Id, Branch, MajorVersion, MinorVersion, PatchVersion, BuildNumber';
// const QUERY_VERBOSE =
// 'SELECT Package2Id, SubscriberPackageVersionId, Name, Description, Tag, Branch, AncestorId, ValidationSkipped, ValidatedAsync, ' +
// 'MajorVersion, MinorVersion, PatchVersion, BuildNumber, IsReleased, CodeCoverage, HasPassedCodeCoverageCheck, ConvertedFromVersionId, ' +
// 'Package2.IsOrgDependent, ReleaseVersion, BuildDurationInSeconds, HasMetadataRemoved, SubscriberPackageVersion.Dependencies, ' +
// 'CreatedById, CodeCoveragePercentages ' +
// 'FROM Package2Version ' +
// "WHERE Id = '%s' AND IsDeprecated != true " +
// 'ORDER BY Package2Id, Branch, MajorVersion, MinorVersion, PatchVersion, BuildNumber';

export function getQuery(connection: Connection): string {
const QUERY =
'SELECT Id, Package2Id, SubscriberPackageVersionId, Name, Description, Tag, Branch, AncestorId, ValidationSkipped, ' +
'MajorVersion, MinorVersion, PatchVersion, BuildNumber, IsReleased, CodeCoverage, HasPassedCodeCoverageCheck, ' +
'Package2.IsOrgDependent, ReleaseVersion, BuildDurationInSeconds, HasMetadataRemoved, CreatedById, ConvertedFromVersionId ' +
(Number(connection.version) >= 60.0 ? ', ValidatedAsync ' : '') +
'FROM Package2Version ' +
"WHERE Id = '%s' AND IsDeprecated != true " +
'ORDER BY Package2Id, Branch, MajorVersion, MinorVersion, PatchVersion, BuildNumber';

return QUERY;
}

export function getVerboseQuery(connection: Connection): string {
const QUERY =
'SELECT Package2Id, SubscriberPackageVersionId, Name, Description, Tag, Branch, AncestorId, ValidationSkipped, ' +
'MajorVersion, MinorVersion, PatchVersion, BuildNumber, IsReleased, CodeCoverage, HasPassedCodeCoverageCheck, ConvertedFromVersionId, ' +
'Package2.IsOrgDependent, ReleaseVersion, BuildDurationInSeconds, HasMetadataRemoved, SubscriberPackageVersion.Dependencies, ' +
'CreatedById, CodeCoveragePercentages ' +
(Number(connection.version) >= 60.0 ? ', ValidatedAsync ' : '') +
'FROM Package2Version ' +
"WHERE Id = '%s' AND IsDeprecated != true " +
'ORDER BY Package2Id, Branch, MajorVersion, MinorVersion, PatchVersion, BuildNumber';

return QUERY;
}

let logger: Logger;
const getLogger = (): Logger => {
Expand All @@ -47,7 +74,10 @@ export async function getPackageVersionReport(options: {
}): Promise<PackageVersionReportResult[]> {
getLogger().debug(`entering getPackageVersionReport(${util.inspect(options, { depth: null })})`);
const queryResult = await options.connection.tooling.query<PackageVersionReportResult>(
util.format(options.verbose ? QUERY_VERBOSE : QUERY, options.packageVersionId)
util.format(
options.verbose ? getVerboseQuery(options.connection) : getQuery(options.connection),
options.packageVersionId
)
);
const records = queryResult.records;
if (records?.length > 0) {
Expand Down

0 comments on commit ce395c6

Please sign in to comment.