mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-04-23 00:58:32 +02:00
Single upserted_model event
This commit is contained in:
@@ -119,7 +119,7 @@ async fn cmd_grpc_call_unary(
|
|||||||
.await
|
.await
|
||||||
.map_err(|e| e.to_string())?
|
.map_err(|e| e.to_string())?
|
||||||
};
|
};
|
||||||
emit_side_effect(app_handle.clone(), "created_model", conn.clone());
|
emit_side_effect(app_handle.clone(), "upserted_model", conn.clone());
|
||||||
|
|
||||||
{
|
{
|
||||||
let req = req.clone();
|
let req = req.clone();
|
||||||
@@ -194,7 +194,7 @@ async fn cmd_grpc_client_streaming(
|
|||||||
.await
|
.await
|
||||||
.map_err(|e| e.to_string())?
|
.map_err(|e| e.to_string())?
|
||||||
};
|
};
|
||||||
emit_side_effect(app_handle.clone(), "created_model", conn.clone());
|
emit_side_effect(app_handle.clone(), "upserted_model", conn.clone());
|
||||||
|
|
||||||
{
|
{
|
||||||
let conn = conn.clone();
|
let conn = conn.clone();
|
||||||
@@ -388,7 +388,7 @@ async fn cmd_grpc_streaming(
|
|||||||
.await
|
.await
|
||||||
.map_err(|e| e.to_string())?
|
.map_err(|e| e.to_string())?
|
||||||
};
|
};
|
||||||
emit_side_effect(app_handle.clone(), "created_model", conn.clone());
|
emit_side_effect(app_handle.clone(), "upserted_model", conn.clone());
|
||||||
|
|
||||||
{
|
{
|
||||||
let conn = conn.clone();
|
let conn = conn.clone();
|
||||||
@@ -585,7 +585,7 @@ async fn cmd_grpc_server_streaming(
|
|||||||
.await
|
.await
|
||||||
.map_err(|e| e.to_string())?
|
.map_err(|e| e.to_string())?
|
||||||
};
|
};
|
||||||
emit_side_effect(app_handle.clone(), "created_model", conn.clone());
|
emit_side_effect(app_handle.clone(), "upserted_model", conn.clone());
|
||||||
|
|
||||||
{
|
{
|
||||||
let req = req.clone();
|
let req = req.clone();
|
||||||
@@ -966,7 +966,7 @@ async fn cmd_send_request(
|
|||||||
None
|
None
|
||||||
};
|
};
|
||||||
|
|
||||||
emit_side_effect(app_handle.clone(), "created_model", response.clone());
|
emit_side_effect(app_handle.clone(), "upserted_model", response.clone());
|
||||||
|
|
||||||
send_http_request(
|
send_http_request(
|
||||||
app_handle,
|
app_handle,
|
||||||
@@ -1050,7 +1050,7 @@ async fn cmd_set_key_value(
|
|||||||
let (key_value, created) = set_key_value_raw(db, namespace, key, value).await;
|
let (key_value, created) = set_key_value_raw(db, namespace, key, value).await;
|
||||||
|
|
||||||
if created {
|
if created {
|
||||||
emit_and_return(&window, "created_model", key_value)
|
emit_and_return(&window, "upserted_model", key_value)
|
||||||
} else {
|
} else {
|
||||||
emit_and_return(&window, "upserted_model", key_value)
|
emit_and_return(&window, "upserted_model", key_value)
|
||||||
}
|
}
|
||||||
@@ -1067,7 +1067,7 @@ async fn cmd_create_workspace(
|
|||||||
.await
|
.await
|
||||||
.expect("Failed to create Workspace");
|
.expect("Failed to create Workspace");
|
||||||
|
|
||||||
emit_and_return(&window, "created_model", created_workspace)
|
emit_and_return(&window, "upserted_model", created_workspace)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
@@ -1117,7 +1117,7 @@ async fn cmd_create_cookie_jar(
|
|||||||
.await
|
.await
|
||||||
.expect("Failed to create cookie jar");
|
.expect("Failed to create cookie jar");
|
||||||
|
|
||||||
emit_and_return(&window, "created_model", created_cookie_jar)
|
emit_and_return(&window, "upserted_model", created_cookie_jar)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
@@ -1141,7 +1141,7 @@ async fn cmd_create_environment(
|
|||||||
.await
|
.await
|
||||||
.expect("Failed to create environment");
|
.expect("Failed to create environment");
|
||||||
|
|
||||||
emit_and_return(&window, "created_model", created_environment)
|
emit_and_return(&window, "upserted_model", created_environment)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
@@ -1166,7 +1166,7 @@ async fn cmd_create_grpc_request(
|
|||||||
.await
|
.await
|
||||||
.expect("Failed to create grpc request");
|
.expect("Failed to create grpc request");
|
||||||
|
|
||||||
emit_and_return(&window, "created_model", created)
|
emit_and_return(&window, "upserted_model", created)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
@@ -1178,7 +1178,7 @@ async fn cmd_duplicate_grpc_request(
|
|||||||
let request = duplicate_grpc_request(&app_handle, id)
|
let request = duplicate_grpc_request(&app_handle, id)
|
||||||
.await
|
.await
|
||||||
.expect("Failed to duplicate grpc request");
|
.expect("Failed to duplicate grpc request");
|
||||||
emit_and_return(&window, "created_model", request)
|
emit_and_return(&window, "upserted_model", request)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
@@ -1205,7 +1205,7 @@ async fn cmd_create_http_request(
|
|||||||
.await
|
.await
|
||||||
.expect("Failed to create http request");
|
.expect("Failed to create http request");
|
||||||
|
|
||||||
emit_and_return(&window, "created_model", created_request)
|
emit_and_return(&window, "upserted_model", created_request)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
@@ -1218,7 +1218,7 @@ async fn cmd_duplicate_http_request(
|
|||||||
let request = duplicate_http_request(db, id)
|
let request = duplicate_http_request(db, id)
|
||||||
.await
|
.await
|
||||||
.expect("Failed to duplicate http request");
|
.expect("Failed to duplicate http request");
|
||||||
emit_and_return(&window, "created_model", request)
|
emit_and_return(&window, "upserted_model", request)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
@@ -1334,7 +1334,7 @@ async fn cmd_create_folder(
|
|||||||
.await
|
.await
|
||||||
.expect("Failed to create folder");
|
.expect("Failed to create folder");
|
||||||
|
|
||||||
emit_and_return(&window, "created_model", created_request)
|
emit_and_return(&window, "upserted_model", created_request)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
|
|||||||
@@ -45,47 +45,6 @@ export function GlobalHooks() {
|
|||||||
setPathname(location.pathname).catch(console.error);
|
setPathname(location.pathname).catch(console.error);
|
||||||
}, [location.pathname]);
|
}, [location.pathname]);
|
||||||
|
|
||||||
useListenToTauriEvent<Model>('created_model', ({ payload, windowLabel }) => {
|
|
||||||
if (shouldIgnoreEvent(payload, windowLabel)) return;
|
|
||||||
|
|
||||||
const queryKey =
|
|
||||||
payload.model === 'http_request'
|
|
||||||
? httpRequestsQueryKey(payload)
|
|
||||||
: payload.model === 'http_response'
|
|
||||||
? httpResponsesQueryKey(payload)
|
|
||||||
: payload.model === 'grpc_connection'
|
|
||||||
? grpcConnectionsQueryKey(payload)
|
|
||||||
: payload.model === 'grpc_message'
|
|
||||||
? grpcMessagesQueryKey(payload)
|
|
||||||
: payload.model === 'grpc_request'
|
|
||||||
? grpcRequestsQueryKey(payload)
|
|
||||||
: payload.model === 'workspace'
|
|
||||||
? workspacesQueryKey(payload)
|
|
||||||
: payload.model === 'key_value'
|
|
||||||
? keyValueQueryKey(payload)
|
|
||||||
: payload.model === 'settings'
|
|
||||||
? settingsQueryKey()
|
|
||||||
: payload.model === 'cookie_jar'
|
|
||||||
? cookieJarsQueryKey(payload)
|
|
||||||
: null;
|
|
||||||
|
|
||||||
const pushToFront = (['http_response', 'grpc_connection'] as Model['model'][]).includes(
|
|
||||||
payload.model,
|
|
||||||
);
|
|
||||||
|
|
||||||
if (queryKey === null) {
|
|
||||||
console.log('Unrecognized created model:', payload);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!shouldIgnoreModel(payload)) {
|
|
||||||
// Order newest first
|
|
||||||
queryClient.setQueryData<Model[]>(queryKey, (values) =>
|
|
||||||
pushToFront ? [payload, ...(values ?? [])] : [...(values ?? []), payload],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
useListenToTauriEvent<Model>('upserted_model', ({ payload, windowLabel }) => {
|
useListenToTauriEvent<Model>('upserted_model', ({ payload, windowLabel }) => {
|
||||||
if (shouldIgnoreEvent(payload, windowLabel)) return;
|
if (shouldIgnoreEvent(payload, windowLabel)) return;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user