Skip to content

Commit eada275

Browse files
fix: version endpoint (#119)
1 parent faa17e8 commit eada275

File tree

6 files changed

+34
-39
lines changed

6 files changed

+34
-39
lines changed

src/features/dashboard-codegate-status/components/codegate-status-health.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { LoaderCircle, CheckCircle2, XCircle } from "lucide-react";
2-
import { HealthStatus } from "../lib/get-codegate-health";
2+
import { HealthStatus } from "../types";
33

44
export const CodegateStatusHealth = ({
55
data: data,

src/features/dashboard-codegate-status/components/codegate-status-version.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { LoaderCircle, CheckCircle2, CircleAlert, XCircle } from "lucide-react";
2-
import { VersionResponse } from "../lib/get-version-status";
32
import { Link, Tooltip, TooltipTrigger } from "@stacklok/ui-kit";
3+
import { VersionResponse } from "../types";
44

55
export const CodegateStatusVersion = ({
66
data,

src/features/dashboard-codegate-status/hooks/use-codegate-status.ts

+21-4
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,40 @@
11
import { queryOptions, useQuery } from "@tanstack/react-query";
22

3-
import { getCodeGateHealth } from "../lib/get-codegate-health";
4-
import { getVersionStatus } from "../lib/get-version-status";
53
import {
64
PollingInterval,
75
POLLING_INTERVAl,
86
} from "../components/codegate-status-polling-control";
7+
import { healthCheckHealthGet, v1VersionCheck } from "@/api/generated";
8+
import { HealthStatus, VersionResponse } from "../types";
9+
10+
type HealthResponse = { status: "healthy" | unknown } | null;
11+
12+
const getCodeGateHealth = async (): Promise<HealthStatus | null> => {
13+
const data = (await healthCheckHealthGet()).data;
14+
15+
if ((data as HealthResponse)?.status === "healthy")
16+
return HealthStatus.HEALTHY;
17+
if ((data as HealthResponse)?.status !== "healthy")
18+
return HealthStatus.UNHEALTHY;
19+
20+
return null;
21+
};
22+
23+
const getVersion = async (): Promise<VersionResponse | null> => {
24+
return ((await v1VersionCheck()).data as VersionResponse) ?? null;
25+
};
926

1027
export function getQueryOptionsCodeGateStatus(
1128
pollingInterval: PollingInterval,
1229
) {
1330
return queryOptions({
1431
queryFn: async () => {
1532
const health = await getCodeGateHealth();
16-
const version = await getVersionStatus();
33+
const version = await getVersion();
1734

1835
return {
1936
health,
20-
version,
37+
version: version as VersionResponse | null,
2138
};
2239
},
2340
queryKey: ["useHealthCheck", { pollingInterval }],

src/features/dashboard-codegate-status/lib/get-codegate-health.ts

-18
This file was deleted.

src/features/dashboard-codegate-status/lib/get-version-status.ts

-15
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
export enum HealthStatus {
2+
HEALTHY = "Healthy",
3+
UNHEALTHY = "Unhealthy",
4+
}
5+
6+
export type VersionResponse = {
7+
current_version: string;
8+
latest_version: string;
9+
is_latest: boolean | null;
10+
error: string | null;
11+
} | null;

0 commit comments

Comments
 (0)