Files
FunConnect/client/src/lib.rs

74 lines
2.6 KiB
Rust

pub mod commands;
pub mod config;
pub mod db;
pub mod network;
pub mod state;
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
use crate::state::AppState;
pub fn run() {
tracing_subscriber::registry()
.with(
tracing_subscriber::EnvFilter::new(
std::env::var("RUST_LOG")
.unwrap_or_else(|_| "funmc_client_lib=debug".into()),
),
)
.with(tracing_subscriber::fmt::layer())
.init();
let app_state = AppState::new();
tauri::Builder::default()
.plugin(tauri_plugin_shell::init())
.plugin(tauri_plugin_notification::init())
.manage(app_state)
.setup(|app| {
let handle = app.handle().clone();
tauri::async_runtime::spawn(async move {
if let Err(e) = db::init(&handle).await {
tracing::error!("DB init error: {}", e);
}
});
Ok(())
})
.invoke_handler(tauri::generate_handler![
commands::auth::login,
commands::auth::register,
commands::auth::logout,
commands::auth::get_current_user,
commands::config::set_server_url,
commands::config::get_server_url,
commands::config::fetch_server_config,
commands::config::get_cached_server_config,
commands::friends::list_friends,
commands::friends::list_requests,
commands::friends::send_friend_request,
commands::friends::accept_friend_request,
commands::friends::remove_friend,
commands::rooms::list_rooms,
commands::rooms::create_room,
commands::rooms::join_room,
commands::rooms::leave_room,
commands::rooms::get_room_members,
commands::rooms::kick_room_member,
commands::rooms::close_room,
commands::network::start_hosting,
commands::network::join_room_network,
commands::network::get_connection_stats,
commands::network::stop_network,
commands::relay_nodes::list_relay_nodes,
commands::relay_nodes::add_relay_node,
commands::relay_nodes::remove_relay_node,
commands::relay_nodes::report_relay_ping,
commands::signaling::connect_signaling,
commands::signaling::disconnect_signaling,
commands::signaling::send_signaling_message,
commands::signaling::send_chat_message,
])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}