pub mod vault;
pub mod servers;
pub mod sftp;
pub mod pipelines;
pub mod audits;
pub mod ssh_keys;
pub mod terminal;
pub mod ports;
pub mod tunnels;
pub mod logs;
pub mod profiles;
pub mod tray;
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.setup(|app| {
if let Err(e) = tray::setup_tray(app.handle()) {
eprintln!("[WARN] System-Tray konnte nicht initialisiert werden: {}", e);
}
Ok(())
})
.manage(vault::VaultState::default())
.manage(terminal::TerminalState::default())
.manage(tunnels::TunnelState::default())
.manage(logs::LogStreamState::default())
.invoke_handler(tauri::generate_handler![
vault::check_vault_status,
vault::unlock_vault,
vault::lock_vault,
vault::get_unlocked_secrets,
vault::save_secret,
vault::delete_secret,
vault::get_all_environments_matrix,
vault::generate_secure_token,
vault::get_device_key_info,
vault::get_full_master_key,
vault::change_master_password,
servers::get_servers,
servers::save_server,
servers::delete_server,
servers::ping_server,
servers::open_ssh_terminal,
sftp::list_remote_directory,
sftp::sftp_upload_file,
sftp::sftp_download_file,
pipelines::list_forge_projects,
pipelines::load_forge_project,
pipelines::execute_forge_target,
audits::get_audit_records,
audits::load_session_recording,
ssh_keys::get_ssh_key_status,
ssh_keys::generate_ed25519_keypair,
ssh_keys::deploy_ssh_key_to_server,
terminal::start_terminal_session,
terminal::write_terminal_data,
terminal::resize_terminal,
terminal::close_terminal_session,
ports::scan_ports,
ports::kill_process_by_pid,
tunnels::get_tunnels,
tunnels::save_tunnel,
tunnels::delete_tunnel,
tunnels::start_tunnel,
tunnels::stop_tunnel,
logs::start_log_stream,
logs::stop_log_stream,
profiles::get_profiles,
profiles::save_profile,
profiles::delete_profile,
profiles::switch_profile,
tray::minimize_to_tray,
tray::show_main_window,
])
.run(tauri::generate_context!())
.expect("Fehler beim Starten der S&B Vault Desktop Applikation");
}