import { invoke } from '@tauri-apps/api/core'; import { WebsocketConnection, WebsocketEvent, WebsocketRequest } from '@yaakapp-internal/models'; export function upsertWebsocketRequest( request: WebsocketRequest | Partial>, ) { return invoke('plugin:yaak-ws|upsert_request', { request, }) as Promise; } export function duplicateWebsocketRequest(requestId: string) { return invoke('plugin:yaak-ws|duplicate_request', { requestId, }) as Promise; } export function deleteWebsocketRequest(requestId: string) { return invoke('plugin:yaak-ws|delete_request', { requestId, }); } export function deleteWebsocketConnection(connectionId: string) { return invoke('plugin:yaak-ws|delete_connection', { connectionId, }); } export function deleteWebsocketConnections(requestId: string) { return invoke('plugin:yaak-ws|delete_connections', { requestId, }); } export function listWebsocketRequests({ workspaceId }: { workspaceId: string }) { return invoke('plugin:yaak-ws|list_requests', { workspaceId }) as Promise; } export function listWebsocketEvents({ connectionId }: { connectionId: string }) { return invoke('plugin:yaak-ws|list_events', { connectionId }) as Promise; } export function listWebsocketConnections({ workspaceId }: { workspaceId: string }) { return invoke('plugin:yaak-ws|list_connections', { workspaceId }) as Promise< WebsocketConnection[] >; } export function connectWebsocket({ requestId, environmentId, cookieJarId, }: { requestId: string; environmentId: string | null; cookieJarId: string | null; }) { return invoke('plugin:yaak-ws|connect', { requestId, environmentId, cookieJarId, }) as Promise; } export function closeWebsocket({ connectionId }: { connectionId: string }) { return invoke('plugin:yaak-ws|close', { connectionId, }); } export function sendWebsocket({ connectionId, environmentId, }: { connectionId: string; environmentId: string | null; }) { return invoke('plugin:yaak-ws|send', { connectionId, environmentId, }); }