Change the Checks fetch API to send a data object
... instead of individual parameters. We were asked to add the `repo`,
but more parameters may be added later. So it is easier to make the
breaking change now, and later have an easier time to add new
properties.
Change-Id: I866c7a210b1e0bd50d3fa68ac8d0d338818f4f6c
diff --git a/polygerrit-ui/app/api/checks.ts b/polygerrit-ui/app/api/checks.ts
index 361b8e0..799d1f7 100644
--- a/polygerrit-ui/app/api/checks.ts
+++ b/polygerrit-ui/app/api/checks.ts
@@ -43,6 +43,12 @@
fetchPollingIntervalSeconds: number;
}
+export interface ChangeData {
+ changeNumber: number;
+ patchsetNumber: number;
+ repo: string;
+}
+
export interface ChecksProvider {
/**
* Gerrit calls this method when ...
@@ -51,7 +57,7 @@
* - ... while the tab is visible in a regular polling interval, see
* ChecksApiConfig.
*/
- fetch(change: number, patchset: number): Promise<FetchResponse>;
+ fetch(change: ChangeData): Promise<FetchResponse>;
}
export interface FetchResponse {
diff --git a/polygerrit-ui/app/services/checks/checks-service.ts b/polygerrit-ui/app/services/checks/checks-service.ts
index 6b106ad..2e63f98 100644
--- a/polygerrit-ui/app/services/checks/checks-service.ts
+++ b/polygerrit-ui/app/services/checks/checks-service.ts
@@ -23,6 +23,7 @@
withLatestFrom,
} from 'rxjs/operators';
import {
+ ChangeData,
ChecksApiConfig,
ChecksProvider,
FetchResponse,
@@ -77,9 +78,12 @@
runs: [],
});
}
- return from(
- this.providers[pluginName].fetch(change._number, patchNum)
- );
+ const data: ChangeData = {
+ changeNumber: change._number,
+ patchsetNumber: patchNum,
+ repo: change.project,
+ };
+ return from(this.providers[pluginName].fetch(data));
}
),
tap(response => {