From da3dc105693955272996a2337334b949764309eb Mon Sep 17 00:00:00 2001 From: Kevin Yue Date: Sun, 28 May 2023 19:04:22 +0800 Subject: [PATCH] refactor: move commands out --- gpgui/src-tauri/src/commands.rs | 44 +++++++++++++++++++++++++++++ gpgui/src-tauri/src/main.rs | 50 +++++---------------------------- 2 files changed, 51 insertions(+), 43 deletions(-) create mode 100644 gpgui/src-tauri/src/commands.rs diff --git a/gpgui/src-tauri/src/commands.rs b/gpgui/src-tauri/src/commands.rs new file mode 100644 index 0000000..66078c8 --- /dev/null +++ b/gpgui/src-tauri/src/commands.rs @@ -0,0 +1,44 @@ +use crate::auth::{self, AuthData, AuthRequest, SamlBinding}; +use gpcommon::{Client, ServerApiError, VpnStatus}; +use std::sync::Arc; +use tauri::{AppHandle, State}; + +#[tauri::command] +pub(crate) async fn vpn_status<'a>( + client: State<'a, Arc>, +) -> Result { + client.status().await +} + +#[tauri::command] +pub(crate) async fn vpn_connect<'a>( + server: String, + cookie: String, + client: State<'a, Arc>, +) -> Result<(), ServerApiError> { + client.connect(server, cookie).await +} + +#[tauri::command] +pub(crate) async fn vpn_disconnect<'a>( + client: State<'a, Arc>, +) -> Result<(), ServerApiError> { + client.disconnect().await +} + +#[tauri::command] +pub(crate) async fn saml_login( + binding: SamlBinding, + request: String, + app_handle: AppHandle, +) -> tauri::Result> { + let ua = "PAN GlobalProtect"; + let clear_cookies = false; + auth::saml_login( + AuthRequest::new(binding, request), + ua, + clear_cookies, + &app_handle, + ) + .await +} diff --git a/gpgui/src-tauri/src/main.rs b/gpgui/src-tauri/src/main.rs index 6588776..e1f0223 100644 --- a/gpgui/src-tauri/src/main.rs +++ b/gpgui/src-tauri/src/main.rs @@ -3,52 +3,16 @@ windows_subsystem = "windows" )] -use auth::{AuthData, AuthRequest, SamlBinding}; use env_logger::Env; -use gpcommon::{Client, ServerApiError, VpnStatus}; +use gpcommon::{Client, VpnStatus}; use log::warn; use serde::Serialize; use std::sync::Arc; -use tauri::{AppHandle, Manager, State}; +use tauri::Manager; use tauri_plugin_log::LogTarget; mod auth; - -#[tauri::command] -async fn vpn_status<'a>(client: State<'a, Arc>) -> Result { - client.status().await -} - -#[tauri::command] -async fn vpn_connect<'a>( - server: String, - cookie: String, - client: State<'a, Arc>, -) -> Result<(), ServerApiError> { - client.connect(server, cookie).await -} - -#[tauri::command] -async fn vpn_disconnect<'a>(client: State<'a, Arc>) -> Result<(), ServerApiError> { - client.disconnect().await -} - -#[tauri::command] -async fn saml_login( - binding: SamlBinding, - request: String, - app_handle: AppHandle, -) -> tauri::Result> { - let ua = "PAN GlobalProtect"; - let clear_cookies = false; - auth::saml_login( - AuthRequest::new(binding, request), - ua, - clear_cookies, - &app_handle, - ) - .await -} +mod commands; #[derive(Debug, Clone, Serialize)] struct StatusPayload { @@ -90,10 +54,10 @@ fn main() { ) .setup(setup) .invoke_handler(tauri::generate_handler![ - vpn_status, - vpn_connect, - vpn_disconnect, - saml_login, + commands::vpn_status, + commands::vpn_connect, + commands::vpn_disconnect, + commands::saml_login ]) .run(tauri::generate_context!()) .expect("error while running tauri application");