feat: getWorkspaces ipc

This commit is contained in:
linonetwo
2023-01-09 16:27:09 +08:00
parent a409009d65
commit e9ee729b5d
12 changed files with 155 additions and 9 deletions
+1
View File
@@ -11,6 +11,7 @@ pub fn invoke_handler() -> impl Fn(tauri::Invoke) + Send + Sync + 'static {
update_y_document,
create_workspace,
update_workspace,
get_workspaces,
get_doc,
put_blob,
get_blob
+24 -1
View File
@@ -1,9 +1,32 @@
use ipc_types::workspace::{CreateWorkspace, CreateWorkspaceResult, UpdateWorkspace};
use ipc_types::workspace::{
CreateWorkspace, CreateWorkspaceResult, GetWorkspacesResult, UpdateWorkspace,
};
use jwst::{DocStorage, Workspace as OctoBaseWorkspace};
use lib0::any::Any;
use crate::state::AppState;
#[tauri::command]
/// create yDoc for a workspace
pub async fn get_workspaces<'s>(
state: tauri::State<'s, AppState>,
parameters: CreateWorkspace,
) -> Result<GetWorkspacesResult, String> {
match &state
.0
.lock()
.await
.metadata_db
.get_user_workspaces(parameters.user_id)
.await
{
Ok(user_workspaces) => Ok(GetWorkspacesResult {
workspaces: user_workspaces.clone(),
}),
Err(error_message) => Err(error_message.to_string()),
}
}
#[tauri::command]
/// create yDoc for a workspace
pub async fn create_workspace<'s>(