fix(cicd-statistics): Added entity option to getConfiguration

Signed-off-by: Gustaf Räntilä <g.rantila@gmail.com>
This commit is contained in:
Gustaf Räntilä
2022-01-14 14:14:37 +01:00
committed by blam
parent d82fe02ecf
commit cf0e970bc2
3 changed files with 24 additions and 4 deletions
+11 -1
View File
@@ -195,6 +195,14 @@ export type UpdateProgress = (
started?: number,
) => void;
/**
* When reading configuration, the Api can return a custom settings depending on
* the entity being viewed.
*/
export interface GetConfigurationOptions {
entity: Entity;
}
/**
* When fetching, the Api should fetch build information about the `entity` and
* respect the `timeFrom`, `timeTo`, `filterStatus` and `filterType`.
@@ -220,6 +228,8 @@ export interface FetchBuildsOptions {
* the UI.
*/
export interface CicdStatisticsApi {
getConfiguration(): Promise<Partial<CicdConfiguration>>;
getConfiguration(
options: GetConfigurationOptions,
): Promise<Partial<CicdConfiguration>>;
fetchBuilds(options: FetchBuildsOptions): Promise<CicdState>;
}
@@ -15,6 +15,7 @@
*/
import { useState, useEffect } from 'react';
import { useEntity } from '@backstage/plugin-catalog-react';
import { CicdConfiguration, statusTypes } from '../apis';
import { Progress } from '../components/progress';
@@ -23,6 +24,7 @@ import { useCicdStatisticsApi } from './use-cicd-statistics-api';
export function useCicdConfiguration(): Progress<CicdConfiguration> {
const cicdStatisticsApi = useCicdStatisticsApi();
const { entity } = useEntity();
const [state, setState] = useState<Progress<CicdConfiguration>>({
loading: true,
@@ -35,7 +37,7 @@ export function useCicdConfiguration(): Progress<CicdConfiguration> {
}
cicdStatisticsApi
.getConfiguration()
.getConfiguration({ entity })
.then(configuration => {
const {
availableStatuses = statusTypes,
@@ -53,7 +55,7 @@ export function useCicdConfiguration(): Progress<CicdConfiguration> {
.catch(error => {
setState({ error });
});
}, [cicdStatisticsApi]);
}, [cicdStatisticsApi, entity]);
return state;
}