Skip to main content

Mountain/IPC/AdvancedFeatures/
mountain_create_collaboration_session.rs

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