74 lines
2.6 KiB
Rust
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");
|
|
}
|