Mountain/IPC/WindAirCommands/
AuthenticateUser.rs1#![allow(non_snake_case)]
2
3use crate::{
8 IPC::WindAirCommands::{AuthResponseDTO, GetAirAddress, GetOrCreateAirClient},
9 dev_log,
10};
11
12#[tauri::command]
13pub async fn AuthenticateUser(
14 username:String,
15 password:String,
16 provider:String,
17) -> Result<AuthResponseDTO::Struct, String> {
18 dev_log!(
19 "grpc",
20 "[WindAirCommands] AuthenticateUser called: {} via {}",
21 username,
22 provider
23 );
24
25 let air_address = GetAirAddress::Fn()?;
26 let client = GetOrCreateAirClient::Fn(air_address).await?;
27
28 let request_id = uuid::Uuid::new_v4().to_string();
29
30 let token = client
31 .authenticate(request_id, username, password, provider)
32 .await
33 .map_err(|e| format!("Authentication failed: {:?}", e))?;
34
35 let result = AuthResponseDTO::Struct { success:true, token, error:None };
36
37 dev_log!("grpc", "[WindAirCommands] Authentication completed: success={}", result.success);
38 Ok(result)
39}