mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-03-17 23:14:03 +01:00
30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import { deleteWebsocketRequest } from '../commands/deleteWebsocketRequest';
|
|
import { jotaiStore } from '../lib/jotai';
|
|
import { useDeleteAnyGrpcRequest } from './useDeleteAnyGrpcRequest';
|
|
import { useDeleteAnyHttpRequest } from './useDeleteAnyHttpRequest';
|
|
import { useFastMutation } from './useFastMutation';
|
|
import { requestsAtom } from './useRequests';
|
|
|
|
export function useDeleteAnyRequest() {
|
|
const deleteAnyHttpRequest = useDeleteAnyHttpRequest();
|
|
const deleteAnyGrpcRequest = useDeleteAnyGrpcRequest();
|
|
|
|
return useFastMutation<void, string, string>({
|
|
mutationKey: ['delete_request'],
|
|
mutationFn: async (id) => {
|
|
if (id == null) return;
|
|
const request = jotaiStore.get(requestsAtom).find((r) => r.id === id);
|
|
|
|
if (request?.model === 'websocket_request') {
|
|
deleteWebsocketRequest.mutate(request);
|
|
} else if (request?.model === 'http_request') {
|
|
deleteAnyHttpRequest.mutate(request);
|
|
} else if (request?.model === 'grpc_request') {
|
|
deleteAnyGrpcRequest.mutate(request);
|
|
} else {
|
|
console.log('Failed to delete request', id, request);
|
|
}
|
|
},
|
|
});
|
|
}
|