From 8f2c618d3a1c7e2119762b4a4090fd3f58e69fb9 Mon Sep 17 00:00:00 2001 From: alex-mcgovern Date: Fri, 17 Jan 2025 15:50:27 +0000 Subject: [PATCH] fix: breaking changes in openapi spec --- .../generated/@tanstack/react-query.gen.ts | 84 +++++++++++-------- src/api/generated/sdk.gen.ts | 74 +++++++++------- src/api/generated/types.gen.ts | 21 +++-- src/api/openapi.json | 48 ++++++++--- src/hooks/useAlertsData.ts | 11 +-- src/hooks/usePromptsData.ts | 13 +-- 6 files changed, 146 insertions(+), 105 deletions(-) diff --git a/src/api/generated/@tanstack/react-query.gen.ts b/src/api/generated/@tanstack/react-query.gen.ts index 8110199c..dd8c37dd 100644 --- a/src/api/generated/@tanstack/react-query.gen.ts +++ b/src/api/generated/@tanstack/react-query.gen.ts @@ -4,10 +4,11 @@ import type { OptionsLegacyParser } from "@hey-api/client-fetch"; import { queryOptions, type UseMutationOptions } from "@tanstack/react-query"; import { client, - getMessagesDashboardMessagesGet, - getAlertsDashboardAlertsGet, - streamSseDashboardAlertsNotificationGet, - versionCheckDashboardVersionGet, + healthCheckHealthGet, + v1GetMessages, + v1GetAlerts, + v1StreamSse, + v1VersionCheck, v1ListWorkspaces, v1CreateWorkspace, v1ListActiveWorkspaces, @@ -60,16 +61,14 @@ const createQueryKey = ( return params; }; -export const getMessagesDashboardMessagesGetQueryKey = ( - options?: OptionsLegacyParser, -) => [createQueryKey("getMessagesDashboardMessagesGet", options)]; +export const healthCheckHealthGetQueryKey = (options?: OptionsLegacyParser) => [ + createQueryKey("healthCheckHealthGet", options), +]; -export const getMessagesDashboardMessagesGetOptions = ( - options?: OptionsLegacyParser, -) => { +export const healthCheckHealthGetOptions = (options?: OptionsLegacyParser) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { - const { data } = await getMessagesDashboardMessagesGet({ + const { data } = await healthCheckHealthGet({ ...options, ...queryKey[0], signal, @@ -77,20 +76,18 @@ export const getMessagesDashboardMessagesGetOptions = ( }); return data; }, - queryKey: getMessagesDashboardMessagesGetQueryKey(options), + queryKey: healthCheckHealthGetQueryKey(options), }); }; -export const getAlertsDashboardAlertsGetQueryKey = ( - options?: OptionsLegacyParser, -) => [createQueryKey("getAlertsDashboardAlertsGet", options)]; +export const v1GetMessagesQueryKey = (options?: OptionsLegacyParser) => [ + createQueryKey("v1GetMessages", options), +]; -export const getAlertsDashboardAlertsGetOptions = ( - options?: OptionsLegacyParser, -) => { +export const v1GetMessagesOptions = (options?: OptionsLegacyParser) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { - const { data } = await getAlertsDashboardAlertsGet({ + const { data } = await v1GetMessages({ ...options, ...queryKey[0], signal, @@ -98,20 +95,18 @@ export const getAlertsDashboardAlertsGetOptions = ( }); return data; }, - queryKey: getAlertsDashboardAlertsGetQueryKey(options), + queryKey: v1GetMessagesQueryKey(options), }); }; -export const streamSseDashboardAlertsNotificationGetQueryKey = ( - options?: OptionsLegacyParser, -) => [createQueryKey("streamSseDashboardAlertsNotificationGet", options)]; +export const v1GetAlertsQueryKey = (options?: OptionsLegacyParser) => [ + createQueryKey("v1GetAlerts", options), +]; -export const streamSseDashboardAlertsNotificationGetOptions = ( - options?: OptionsLegacyParser, -) => { +export const v1GetAlertsOptions = (options?: OptionsLegacyParser) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { - const { data } = await streamSseDashboardAlertsNotificationGet({ + const { data } = await v1GetAlerts({ ...options, ...queryKey[0], signal, @@ -119,20 +114,37 @@ export const streamSseDashboardAlertsNotificationGetOptions = ( }); return data; }, - queryKey: streamSseDashboardAlertsNotificationGetQueryKey(options), + queryKey: v1GetAlertsQueryKey(options), }); }; -export const versionCheckDashboardVersionGetQueryKey = ( - options?: OptionsLegacyParser, -) => [createQueryKey("versionCheckDashboardVersionGet", options)]; +export const v1StreamSseQueryKey = (options?: OptionsLegacyParser) => [ + createQueryKey("v1StreamSse", options), +]; -export const versionCheckDashboardVersionGetOptions = ( - options?: OptionsLegacyParser, -) => { +export const v1StreamSseOptions = (options?: OptionsLegacyParser) => { + return queryOptions({ + queryFn: async ({ queryKey, signal }) => { + const { data } = await v1StreamSse({ + ...options, + ...queryKey[0], + signal, + throwOnError: true, + }); + return data; + }, + queryKey: v1StreamSseQueryKey(options), + }); +}; + +export const v1VersionCheckQueryKey = (options?: OptionsLegacyParser) => [ + createQueryKey("v1VersionCheck", options), +]; + +export const v1VersionCheckOptions = (options?: OptionsLegacyParser) => { return queryOptions({ queryFn: async ({ queryKey, signal }) => { - const { data } = await versionCheckDashboardVersionGet({ + const { data } = await v1VersionCheck({ ...options, ...queryKey[0], signal, @@ -140,7 +152,7 @@ export const versionCheckDashboardVersionGetOptions = ( }); return data; }, - queryKey: versionCheckDashboardVersionGetQueryKey(options), + queryKey: v1VersionCheckQueryKey(options), }); }; diff --git a/src/api/generated/sdk.gen.ts b/src/api/generated/sdk.gen.ts index a845fc5b..f7a504b0 100644 --- a/src/api/generated/sdk.gen.ts +++ b/src/api/generated/sdk.gen.ts @@ -6,14 +6,16 @@ import { type OptionsLegacyParser, } from "@hey-api/client-fetch"; import type { - GetMessagesDashboardMessagesGetError, - GetMessagesDashboardMessagesGetResponse, - GetAlertsDashboardAlertsGetError, - GetAlertsDashboardAlertsGetResponse, - StreamSseDashboardAlertsNotificationGetError, - StreamSseDashboardAlertsNotificationGetResponse, - VersionCheckDashboardVersionGetError, - VersionCheckDashboardVersionGetResponse, + HealthCheckHealthGetError, + HealthCheckHealthGetResponse, + V1GetMessagesError, + V1GetMessagesResponse, + V1GetAlertsError, + V1GetAlertsResponse, + V1StreamSseError, + V1StreamSseResponse, + V1VersionCheckError, + V1VersionCheckResponse, V1ListWorkspacesError, V1ListWorkspacesResponse, V1CreateWorkspaceData, @@ -31,22 +33,36 @@ import type { export const client = createClient(createConfig()); +/** + * Health Check + */ +export const healthCheckHealthGet = ( + options?: OptionsLegacyParser, +) => { + return (options?.client ?? client).get< + HealthCheckHealthGetResponse, + HealthCheckHealthGetError, + ThrowOnError + >({ + ...options, + url: "/health", + }); +}; + /** * Get Messages * Get all the messages from the database and return them as a list of conversations. */ -export const getMessagesDashboardMessagesGet = < - ThrowOnError extends boolean = false, ->( +export const v1GetMessages = ( options?: OptionsLegacyParser, ) => { return (options?.client ?? client).get< - GetMessagesDashboardMessagesGetResponse, - GetMessagesDashboardMessagesGetError, + V1GetMessagesResponse, + V1GetMessagesError, ThrowOnError >({ ...options, - url: "/dashboard/messages", + url: "/api/v1/dashboard/messages", }); }; @@ -54,18 +70,16 @@ export const getMessagesDashboardMessagesGet = < * Get Alerts * Get all the messages from the database and return them as a list of conversations. */ -export const getAlertsDashboardAlertsGet = < - ThrowOnError extends boolean = false, ->( +export const v1GetAlerts = ( options?: OptionsLegacyParser, ) => { return (options?.client ?? client).get< - GetAlertsDashboardAlertsGetResponse, - GetAlertsDashboardAlertsGetError, + V1GetAlertsResponse, + V1GetAlertsError, ThrowOnError >({ ...options, - url: "/dashboard/alerts", + url: "/api/v1/dashboard/alerts", }); }; @@ -73,36 +87,32 @@ export const getAlertsDashboardAlertsGet = < * Stream Sse * Send alerts event */ -export const streamSseDashboardAlertsNotificationGet = < - ThrowOnError extends boolean = false, ->( +export const v1StreamSse = ( options?: OptionsLegacyParser, ) => { return (options?.client ?? client).get< - StreamSseDashboardAlertsNotificationGetResponse, - StreamSseDashboardAlertsNotificationGetError, + V1StreamSseResponse, + V1StreamSseError, ThrowOnError >({ ...options, - url: "/dashboard/alerts_notification", + url: "/api/v1/dashboard/alerts_notification", }); }; /** * Version Check */ -export const versionCheckDashboardVersionGet = < - ThrowOnError extends boolean = false, ->( +export const v1VersionCheck = ( options?: OptionsLegacyParser, ) => { return (options?.client ?? client).get< - VersionCheckDashboardVersionGetResponse, - VersionCheckDashboardVersionGetError, + V1VersionCheckResponse, + V1VersionCheckError, ThrowOnError >({ ...options, - url: "/dashboard/version", + url: "/api/v1/dashboard/version", }); }; diff --git a/src/api/generated/types.gen.ts b/src/api/generated/types.gen.ts index 5c9d309a..fa5acf81 100644 --- a/src/api/generated/types.gen.ts +++ b/src/api/generated/types.gen.ts @@ -90,22 +90,25 @@ export type Workspace = { is_active: boolean; }; -export type GetMessagesDashboardMessagesGetResponse = Array; +export type HealthCheckHealthGetResponse = unknown; -export type GetMessagesDashboardMessagesGetError = unknown; +export type HealthCheckHealthGetError = unknown; -export type GetAlertsDashboardAlertsGetResponse = - Array; +export type V1GetMessagesResponse = Array; -export type GetAlertsDashboardAlertsGetError = unknown; +export type V1GetMessagesError = unknown; -export type StreamSseDashboardAlertsNotificationGetResponse = unknown; +export type V1GetAlertsResponse = Array; -export type StreamSseDashboardAlertsNotificationGetError = unknown; +export type V1GetAlertsError = unknown; -export type VersionCheckDashboardVersionGetResponse = unknown; +export type V1StreamSseResponse = unknown; -export type VersionCheckDashboardVersionGetError = unknown; +export type V1StreamSseError = unknown; + +export type V1VersionCheckResponse = unknown; + +export type V1VersionCheckError = unknown; export type V1ListWorkspacesResponse = ListWorkspacesResponse; diff --git a/src/api/openapi.json b/src/api/openapi.json index 38345cdf..aadbee66 100644 --- a/src/api/openapi.json +++ b/src/api/openapi.json @@ -1,18 +1,39 @@ { "openapi": "3.1.0", "info": { - "title": "FastAPI", - "version": "0.1.0" + "title": "CodeGate", + "description": "Generative AI CodeGen security gateway", + "version": "0.1.7" }, "paths": { - "/dashboard/messages": { + "/health": { "get": { "tags": [ + "System" + ], + "summary": "Health Check", + "operationId": "health_check_health_get", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": {} + } + } + } + } + } + }, + "/api/v1/dashboard/messages": { + "get": { + "tags": [ + "CodeGate API", "Dashboard" ], "summary": "Get Messages", "description": "Get all the messages from the database and return them as a list of conversations.", - "operationId": "get_messages_dashboard_messages_get", + "operationId": "v1_get_messages", "responses": { "200": { "description": "Successful Response", @@ -23,7 +44,7 @@ "$ref": "#/components/schemas/Conversation" }, "type": "array", - "title": "Response Get Messages Dashboard Messages Get" + "title": "Response V1 Get Messages" } } } @@ -31,14 +52,15 @@ } } }, - "/dashboard/alerts": { + "/api/v1/dashboard/alerts": { "get": { "tags": [ + "CodeGate API", "Dashboard" ], "summary": "Get Alerts", "description": "Get all the messages from the database and return them as a list of conversations.", - "operationId": "get_alerts_dashboard_alerts_get", + "operationId": "v1_get_alerts", "responses": { "200": { "description": "Successful Response", @@ -56,7 +78,7 @@ ] }, "type": "array", - "title": "Response Get Alerts Dashboard Alerts Get" + "title": "Response V1 Get Alerts" } } } @@ -64,14 +86,15 @@ } } }, - "/dashboard/alerts_notification": { + "/api/v1/dashboard/alerts_notification": { "get": { "tags": [ + "CodeGate API", "Dashboard" ], "summary": "Stream Sse", "description": "Send alerts event", - "operationId": "stream_sse_dashboard_alerts_notification_get", + "operationId": "v1_stream_sse", "responses": { "200": { "description": "Successful Response", @@ -84,13 +107,14 @@ } } }, - "/dashboard/version": { + "/api/v1/dashboard/version": { "get": { "tags": [ + "CodeGate API", "Dashboard" ], "summary": "Version Check", - "operationId": "version_check_dashboard_version_get", + "operationId": "v1_version_check", "responses": { "200": { "description": "Successful Response", diff --git a/src/hooks/useAlertsData.ts b/src/hooks/useAlertsData.ts index 72a251b6..29cce009 100644 --- a/src/hooks/useAlertsData.ts +++ b/src/hooks/useAlertsData.ts @@ -1,15 +1,12 @@ import { useQuery } from "@tanstack/react-query"; -import { - AlertConversation, - getAlertsDashboardAlertsGet, -} from "@/api/generated"; +import { AlertConversation, v1GetAlerts } from "@/api/generated"; import { getMaliciousPackage } from "@/lib/utils"; import { MaliciousPkgType, TriggerType } from "@/types"; import { useAlertSearch } from "./useAlertSearch"; -import { getAlertsDashboardAlertsGetQueryKey } from "@/api/generated/@tanstack/react-query.gen"; +import { v1GetAlertsQueryKey } from "@/api/generated/@tanstack/react-query.gen"; const fetchAlerts = async (): Promise => { - const { data } = await getAlertsDashboardAlertsGet(); + const { data } = await v1GetAlerts(); return (data ?? []) .filter((alert): alert is AlertConversation => alert !== null) @@ -27,7 +24,7 @@ const fetchAlerts = async (): Promise => { export const useAlertsData = ({ ...args } = {}) => { return useQuery({ - queryKey: getAlertsDashboardAlertsGetQueryKey(), + queryKey: v1GetAlertsQueryKey(), queryFn: fetchAlerts, ...args, }); diff --git a/src/hooks/usePromptsData.ts b/src/hooks/usePromptsData.ts index dd291b1a..49ce56c6 100644 --- a/src/hooks/usePromptsData.ts +++ b/src/hooks/usePromptsData.ts @@ -1,13 +1,8 @@ import { useQuery } from "@tanstack/react-query"; -import { - Conversation, - GetMessagesDashboardMessagesGetResponse, -} from "@/api/generated"; -import { getMessagesDashboardMessagesGetOptions } from "@/api/generated/@tanstack/react-query.gen"; +import { Conversation, V1GetMessagesResponse } from "@/api/generated"; +import { v1GetMessagesOptions } from "@/api/generated/@tanstack/react-query.gen"; -const selectConversations = ( - data: GetMessagesDashboardMessagesGetResponse, -): Conversation[] => { +const selectConversations = (data: V1GetMessagesResponse): Conversation[] => { return data.filter((prompt) => prompt.question_answers?.every((item) => item.answer && item.question), ); @@ -15,7 +10,7 @@ const selectConversations = ( export const usePromptsData = () => { return useQuery({ - ...getMessagesDashboardMessagesGetOptions(), + ...v1GetMessagesOptions(), select: selectConversations, }); };