Use workspace from plugin context instead of accepting it as parameter

- Removed workspaceId parameter from ctx.folder.list() and ctx.httpRequest.list()
- Updated event handlers to get workspace from plugin context
- Use proper generated TypeScript types in Context interface
This commit is contained in:
Gregory Schier
2025-12-28 14:14:09 -08:00
parent 6d5ba685f1
commit 07d743db21
8 changed files with 60 additions and 30 deletions

View File

@@ -63,23 +63,25 @@ pub(crate) async fn handle_plugin_event<R: Runtime>(
})))
}
InternalEventPayload::ListHttpRequestsRequest(req) => {
let mut http_requests = Vec::new();
if let Some(folder_id) = req.folder_id {
http_requests =
app_handle.db().list_http_requests_for_folder_recursive(&folder_id)?;
} else if let Some(workspace_id) = req.workspace_id {
http_requests = app_handle.db().list_http_requests(&workspace_id)?;
}
let w = get_window_from_plugin_context(app_handle, &plugin_context)?;
let workspace = workspace_from_window(&w)
.ok_or(PluginErr("Failed to get workspace from window".into()))?;
let http_requests = if let Some(folder_id) = req.folder_id {
app_handle.db().list_http_requests_for_folder_recursive(&folder_id)?
} else {
app_handle.db().list_http_requests(&workspace.id)?
};
Ok(Some(InternalEventPayload::ListHttpRequestsResponse(ListHttpRequestsResponse {
http_requests,
})))
}
InternalEventPayload::ListFoldersRequest(req) => {
let mut folders = Vec::new();
if let Some(workspace_id) = req.workspace_id {
folders = app_handle.db().list_folders(&workspace_id)?;
}
InternalEventPayload::ListFoldersRequest(_req) => {
let w = get_window_from_plugin_context(app_handle, &plugin_context)?;
let workspace = workspace_from_window(&w)
.ok_or(PluginErr("Failed to get workspace from window".into()))?;
let folders = app_handle.db().list_folders(&workspace.id)?;
Ok(Some(InternalEventPayload::ListFoldersResponse(
yaak_plugins::events::ListFoldersResponse { folders },