(
state: State<'_, AppState>,
app: tauri::AppHandle,
request: UpdateWorkspaceInfoRequest,
)
| 1886 | |
| 1887 | #[tauri::command] |
| 1888 | pub async fn update_workspace_info( |
| 1889 | state: State<'_, AppState>, |
| 1890 | app: tauri::AppHandle, |
| 1891 | request: UpdateWorkspaceInfoRequest, |
| 1892 | ) -> Result<WorkspaceInfoDto, String> { |
| 1893 | let updates = bitfun_core::service::workspace::WorkspaceInfoUpdates { |
| 1894 | name: request.name, |
| 1895 | description: request.description, |
| 1896 | tags: request.tags, |
| 1897 | related_paths: request.related_paths, |
| 1898 | }; |
| 1899 | |
| 1900 | match state |
| 1901 | .workspace_service |
| 1902 | .update_workspace_info(&request.workspace_id, updates) |
| 1903 | .await |
| 1904 | { |
| 1905 | Ok(workspace_info) => { |
| 1906 | let is_active_workspace = state |
| 1907 | .workspace_service |
| 1908 | .get_current_workspace() |
| 1909 | .await |
| 1910 | .map(|workspace| workspace.id == workspace_info.id) |
| 1911 | .unwrap_or(false); |
| 1912 | |
| 1913 | if is_active_workspace { |
| 1914 | apply_active_workspace_context(&state, &app, &workspace_info, None).await; |
| 1915 | } |
| 1916 | |
| 1917 | info!( |
| 1918 | "Workspace info updated: workspace_id={}, path={}", |
| 1919 | workspace_info.id, |
| 1920 | workspace_info.root_path.display() |
| 1921 | ); |
| 1922 | |
| 1923 | Ok(WorkspaceInfoDto::from_workspace_info(&workspace_info)) |
| 1924 | } |
| 1925 | Err(error) => { |
| 1926 | error!("Failed to update workspace info: {}", error); |
| 1927 | Err(format!("Failed to update workspace info: {}", error)) |
| 1928 | } |
| 1929 | } |
| 1930 | } |
| 1931 | |
| 1932 | #[tauri::command] |
| 1933 | pub async fn get_current_workspace( |
nothing calls this directly
no test coverage detected