Update local model stores in all mutations (#129)

This commit is contained in:
Gregory Schier
2024-10-23 09:54:43 -07:00
committed by GitHub
parent c5e6d6f2cb
commit 7759649963
29 changed files with 270 additions and 79 deletions

View File

@@ -1,11 +1,15 @@
import { useMutation } from '@tanstack/react-query';
import type { HttpRequest } from '@yaakapp-internal/models';
import {useSetAtom} from "jotai/index";
import { getHttpRequest } from '../lib/store';
import { invokeCmd } from '../lib/tauri';
import {httpRequestsAtom} from "./useHttpRequests";
import {updateModelList} from "./useSyncModelStores";
export function useUpdateAnyHttpRequest() {
const setHttpRequests = useSetAtom(httpRequestsAtom);
return useMutation<
void,
HttpRequest,
unknown,
{ id: string; update: Partial<HttpRequest> | ((r: HttpRequest) => HttpRequest) }
>({
@@ -18,7 +22,10 @@ export function useUpdateAnyHttpRequest() {
const patchedRequest =
typeof update === 'function' ? update(request) : { ...request, ...update };
await invokeCmd('cmd_update_http_request', { request: patchedRequest });
return invokeCmd<HttpRequest>('cmd_update_http_request', { request: patchedRequest });
},
onSuccess: async (request) => {
setHttpRequests(updateModelList(request));
}
});
}