Skip to content

Commit

Permalink
NU-1890 change endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
Dzuming committed Nov 21, 2024
1 parent b519119 commit 022b1a2
Showing 1 changed file with 24 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@ import { UserData } from "nussknackerUi/common/models/User";
import { useContext, useEffect, useMemo } from "react";
import { NkApiContext } from "../settings/nkApiProvider";
import { Scenario, StatusDefinitionType } from "nussknackerUi/components/Process/types";
import { StatusesType } from "nussknackerUi/HttpService";
import { ScenarioParametersCombinations, StatusesType } from "nussknackerUi/HttpService";
import { useQuery, useQueryClient } from "react-query";
import { AvailableScenarioLabels } from "nussknackerUi/components/Labels/types";
import { UseQueryResult } from "react-query/types/react/types";
import { DateTime } from "luxon";
import { groupBy } from "lodash";

const scenarioStatusesQueryKey = "scenariosStatuses";
const scenarioParametersCombinationsQueryKey = "scenarioParametersCombinations";

function useScenariosQuery(): UseQueryResult<Scenario[]> {
const api = useContext(NkApiContext);
Expand Down Expand Up @@ -54,6 +55,22 @@ export function useScenariosStatusesQuery(): UseQueryResult<StatusesType> {
});
}

export function useScenarioParametersCombinationsQuery(): UseQueryResult<ScenarioParametersCombinations> {
const api = useContext(NkApiContext);
return useQuery({
queryKey: [scenarioParametersCombinationsQueryKey],
queryFn: async () => {
const { data } = await api.fetchScenarioParametersCombinations();
return data;
},
enabled: !!api,
refetchInterval: 15000,
// We have to define staleTime because we set cache manually via queryClient.setQueryData during fetching scenario
// details (because we want to avoid unnecessary refetch)
staleTime: 10000,
});
}

export function useStatusDefinitions(): UseQueryResult<StatusDefinitionType[]> {
const api = useContext(NkApiContext);
return useQuery({
Expand Down Expand Up @@ -110,13 +127,15 @@ export function useScenariosWithStatus(): UseQueryResult<Scenario[]> {
}

export function useScenariosWithCategoryVisible(): { withCategoriesVisible: boolean } {
const scenarios = useScenariosQuery();
const parametersCombinations = useScenarioParametersCombinationsQuery();
return useMemo(() => {
const { data = [] } = scenarios;
const withCategoriesVisible = Object.keys(groupBy(data, (scenario) => scenario.processCategory)).length > 1;
const { data } = parametersCombinations;
const combinations = data?.combinations || [];

const withCategoriesVisible = Object.keys(groupBy(combinations, (combination) => combination.category)).length > 1;

return {
withCategoriesVisible,
};
}, [scenarios]);
}, [parametersCombinations]);
}

0 comments on commit 022b1a2

Please sign in to comment.