Add commitSha to the Checks API fetch() interface
Change-Id: I219d5472d1702757df96b38a3473b5533f6aa0b9
diff --git a/polygerrit-ui/app/api/checks.ts b/polygerrit-ui/app/api/checks.ts
index 71ad2be..3be34fe 100644
--- a/polygerrit-ui/app/api/checks.ts
+++ b/polygerrit-ui/app/api/checks.ts
@@ -46,6 +46,7 @@
export interface ChangeData {
changeNumber: number;
patchsetNumber: number;
+ patchsetSha: string;
repo: string;
commmitMessage?: string;
/* TODO(brohlfs): Add dep to Rest API types and replace type by ChangeInfo. */
diff --git a/polygerrit-ui/app/services/checks/checks-service.ts b/polygerrit-ui/app/services/checks/checks-service.ts
index 211eb0c..1960718 100644
--- a/polygerrit-ui/app/services/checks/checks-service.ts
+++ b/polygerrit-ui/app/services/checks/checks-service.ts
@@ -49,6 +49,8 @@
} from 'rxjs';
import {PatchSetNumber} from '../../types/common';
import {getCurrentRevision} from '../../utils/change-util';
+import {getShaByPatchNum} from '../../utils/patch-set-util';
+import {assertIsDefined} from '../../utils/common-util';
export class ChecksService {
private readonly providers: {[name: string]: ChecksProvider} = {};
@@ -127,9 +129,13 @@
runs: [],
});
}
+ assertIsDefined(change.revisions, 'change.revisions');
+ const patchsetSha = getShaByPatchNum(change.revisions, patchNum);
+ assertIsDefined(patchsetSha, 'patchsetSha');
const data: ChangeData = {
changeNumber: changeNum,
patchsetNumber: patchNum,
+ patchsetSha,
repo: change.project,
commmitMessage: getCurrentRevision(change)?.commit?.message,
changeInfo: change,
diff --git a/polygerrit-ui/app/utils/patch-set-util.ts b/polygerrit-ui/app/utils/patch-set-util.ts
index a0946a3..138479c 100644
--- a/polygerrit-ui/app/utils/patch-set-util.ts
+++ b/polygerrit-ui/app/utils/patch-set-util.ts
@@ -6,6 +6,7 @@
ParentPatchSetNum,
PatchSetNumber,
BasePatchSetNum,
+ RevisionPatchSetNum,
} from '../types/common';
import {RestApiService} from '../services/gr-rest-api/gr-rest-api';
import {EditRevisionInfo, ParsedChangeInfo} from '../types/types';
@@ -107,6 +108,16 @@
return;
}
+export function getShaByPatchNum(
+ revisions: {[revisionId: string]: RevisionInfo | EditRevisionInfo},
+ patchNum: RevisionPatchSetNum
+) {
+ for (const [sha, rev] of Object.entries(revisions)) {
+ if (rev._number === patchNum) return sha;
+ }
+ return undefined;
+}
+
/**
* Find change edit base revision if change edit exists.
*