Skip to main content

Mountain/IPC/AdvancedFeatures/
mountain_create_collaboration_session.rs

1
2//! `mountain_create_collaboration_session` Tauri command -
3//! create a fresh `CollaborationSession::Struct` with the
4//! requested permissions.
5
6use tauri::Manager;
7
8use crate::{
9	IPC::AdvancedFeatures::{
10		CollaborationPermissions::Struct as CollaborationPermissions,
11		Features::Struct as Features,
12	},
13	dev_log,
14};
15
16#[tauri::command]
17pub async fn mountain_create_collaboration_session(
18	app_handle:tauri::AppHandle,
19
20	session_id:String,
21
22	permissions:CollaborationPermissions,
23) -> Result<(), String> {
24	dev_log!("lifecycle", "Tauri command: create_collaboration_session");
25
26	if let Some(features) = app_handle.try_state::<Features>() {
27		features.create_collaboration_session(session_id, permissions).await
28	} else {
29		Err("AdvancedFeatures not found in application state".to_string())
30	}
31}