Request actions (#65)

This commit is contained in:
Gregory Schier
2024-08-14 15:31:52 -07:00
committed by GitHub
parent 12f4c2c668
commit b95fa25898
29 changed files with 392 additions and 116 deletions

View File

@@ -0,0 +1,37 @@
import { useQuery } from '@tanstack/react-query';
import type {
CallHttpRequestActionRequest,
GetHttpRequestActionsResponse,
HttpRequest,
} from '@yaakapp/api';
import { invokeCmd } from '../lib/tauri';
export function useHttpRequestActions() {
const httpRequestActions = useQuery({
queryKey: ['http_request_actions'],
queryFn: async () => {
const responses = (await invokeCmd(
'cmd_http_request_actions',
)) as GetHttpRequestActionsResponse[];
return responses;
},
});
return (
httpRequestActions.data?.flatMap((r) =>
r.actions.map((a) => ({
key: a.key,
label: a.label,
icon: a.icon,
call: async (httpRequest: HttpRequest) => {
const payload: CallHttpRequestActionRequest = {
key: a.key,
pluginRefId: r.pluginRefId,
args: { httpRequest },
};
await invokeCmd('cmd_call_http_request_action', { req: payload });
},
})),
) ?? []
);
}