Skip to main content

Mountain/IPC/AdvancedFeatures/
mountain_create_collaboration_session.rs

1#![allow(non_snake_case)]
2
3//! `mountain_create_collaboration_session` Tauri command -
4//! create a fresh `CollaborationSession::Struct` with the
5//! requested permissions.
6
7use tauri::Manager;
8
9use crate::{
10	IPC::AdvancedFeatures::{
11		CollaborationPermissions::Struct as CollaborationPermissions,
12		Features::Struct as Features,
13	},
14	dev_log,
15};
16
17#[tauri::command]
18pub async fn mountain_create_collaboration_session(
19	app_handle:tauri::AppHandle,
20	session_id:String,
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}