Fix delete request in sidebar

This commit is contained in:
Gregory Schier
2024-06-10 23:17:12 -07:00
parent 55a426fc85
commit 6e4ee0045f
2 changed files with 6 additions and 10 deletions

View File

@@ -603,7 +603,7 @@ const SidebarItem = forwardRef(function SidebarItem(
) { ) {
const activeRequest = useActiveRequest(); const activeRequest = useActiveRequest();
const deleteFolder = useDeleteFolder(itemId); const deleteFolder = useDeleteFolder(itemId);
const deleteRequest = useDeleteRequest(activeRequest ?? null); const deleteRequest = useDeleteRequest(itemId);
const duplicateHttpRequest = useDuplicateHttpRequest({ id: itemId, navigateAfter: true }); const duplicateHttpRequest = useDuplicateHttpRequest({ id: itemId, navigateAfter: true });
const duplicateGrpcRequest = useDuplicateGrpcRequest({ id: itemId, navigateAfter: true }); const duplicateGrpcRequest = useDuplicateGrpcRequest({ id: itemId, navigateAfter: true });
const copyAsCurl = useCopyAsCurl(itemId); const copyAsCurl = useCopyAsCurl(itemId);

View File

@@ -1,21 +1,17 @@
import { useMutation } from '@tanstack/react-query'; import { useMutation } from '@tanstack/react-query';
import type { GrpcRequest, HttpRequest } from '../lib/models';
import { useDeleteAnyGrpcRequest } from './useDeleteAnyGrpcRequest'; import { useDeleteAnyGrpcRequest } from './useDeleteAnyGrpcRequest';
import { useDeleteAnyHttpRequest } from './useDeleteAnyHttpRequest'; import { useDeleteAnyHttpRequest } from './useDeleteAnyHttpRequest';
export function useDeleteRequest(request: HttpRequest | GrpcRequest | null) { export function useDeleteRequest(id: string | null) {
const deleteAnyHttpRequest = useDeleteAnyHttpRequest(); const deleteAnyHttpRequest = useDeleteAnyHttpRequest();
const deleteAnyGrpcRequest = useDeleteAnyGrpcRequest(); const deleteAnyGrpcRequest = useDeleteAnyGrpcRequest();
return useMutation<void, string>({ return useMutation<void, string>({
mutationFn: async () => { mutationFn: async () => {
if (request?.model === 'http_request') { if (id == null) return;
await deleteAnyHttpRequest.mutateAsync(request.id); // We don't know what type it is based on the ID, so just try deleting both
} else if (request?.model === 'grpc_request') { deleteAnyHttpRequest.mutate(id);
await deleteAnyGrpcRequest.mutateAsync(request.id); deleteAnyGrpcRequest.mutate(id);
} else {
// Request is null
}
}, },
}); });
} }