signoz/frontend/src/hooks/Integrations/useGetIntegrationStatus.ts

21 lines
663 B
TypeScript
Raw Normal View History

feat: [SIG-526]: UI Integrations V0 (#4595) * feat: integrations v0 base setup routes and components * chore: typecheck fix * feat: integrations landing page changes * feat: initial header setup * feat: integrations list page setup * feat: integrations details content root setup * feat: integration detail content setup * feat: added overview tab * feat: added data tab * feat: handle configuration tab * feat: add min height for the container * feat: generate apis and hooks for usage * feat: added remove integration modal * feat: added remove integration modal * feat: added remove integration modal * feat: added test connection bars * chore: add bottom margins * feat: added test connection modal * feat: add all types of test connection * feat: add all types of test connection * fix: address review comments * fix: address review comments * feat: added get all integrations API and search bar implemnetation * feat: navigate to overview section in case of row click and configure in btn * feat: integrate get integration details api * feat: handle integration details page gracefully * feat: integrate uninstall API and the connection states * feat: add install integration API call * feat: added api error handling * feat: handle error states for list and details api * feat: handle the logs and metrics columns * feat: add TODOs for pending tasks * feat: comment from side nav * feat: added support for custom tags in react markdown * chore: revert the temporary change for merge * feat: integrate the status api calls and polling logic * chore: add markdown components and correct the polling issue * chore: handle light mode * chore: remove integrations from sideNav * fix: address review comments * fix: address review comments
2024-03-06 22:25:02 +05:30
import { getIntegrationStatus } from 'api/Integrations/getIntegrationStatus';
import { AxiosError, AxiosResponse } from 'axios';
import { useQuery, UseQueryResult } from 'react-query';
import {
GetIntegrationPayloadProps,
GetIntegrationStatusProps,
} from 'types/api/integrations/types';
export const useGetIntegrationStatus = ({
integrationId,
enabled,
}: GetIntegrationPayloadProps): UseQueryResult<
AxiosResponse<GetIntegrationStatusProps>,
AxiosError
> =>
useQuery<AxiosResponse<GetIntegrationStatusProps>, AxiosError>({
queryKey: ['Integration', integrationId, Date.now()],
queryFn: () => getIntegrationStatus({ integrationId }),
enabled,
});