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
21	session_id:String,
22
23	permissions:CollaborationPermissions,
24) -> Result<(), String> {
25	dev_log!("lifecycle", "Tauri command: create_collaboration_session");
26
27	if let Some(features) = app_handle.try_state::<Features>() {
28		features.create_collaboration_session(session_id, permissions).await
29	} else {
30		Err("AdvancedFeatures not found in application state".to_string())
31	}
32}