feat(integration-page): updated components and api hooks

This commit is contained in:
akhilmhdh
2023-06-24 23:30:27 +05:30
parent 6b222bad01
commit c04ea7e731
15 changed files with 423 additions and 210 deletions
@@ -0,0 +1,35 @@
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
import { apiRequest } from '@app/config/request';
import { workspaceKeys } from '../workspace/queries';
import { TCloudIntegration } from './types';
export const integrationQueryKeys = {
getIntegrations: () => ['integrations'] as const
};
const fetchIntegrations = async () => {
const { data } = await apiRequest.get<{ integrationOptions: TCloudIntegration[] }>(
'/api/v1/integration-auth/integration-options'
);
return data.integrationOptions;
};
export const useGetCloudIntegrations = () =>
useQuery({
queryKey: integrationQueryKeys.getIntegrations(),
queryFn: () => fetchIntegrations()
});
export const useDeleteIntegration = () => {
const queryClient = useQueryClient();
return useMutation<{}, {}, { id: string; workspaceId: string }>({
mutationFn: ({ id }) => apiRequest.delete(`/api/v1/integration/${id}`),
onSuccess: (_, { workspaceId }) => {
queryClient.invalidateQueries(workspaceKeys.getWorkspaceIntegrations(workspaceId));
}
});
};