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
16 password:String,
17
18 provider:String,
19) -> Result<AuthResponseDTO::Struct, String> {
20 dev_log!(
21 "grpc",
22 "[WindAirCommands] AuthenticateUser called: {} via {}",
23 username,
24 provider
25 );
26
27 let air_address = GetAirAddress::Fn()?;
28
29 let client = GetOrCreateAirClient::Fn(air_address).await?;
30
31 let request_id = uuid::Uuid::new_v4().to_string();
32
33 let token = client
34 .authenticate(request_id, username, password, provider)
35 .await
36 .map_err(|e| format!("Authentication failed: {:?}", e))?;
37
38 let result = AuthResponseDTO::Struct { success:true, token, error:None };
39
40 dev_log!("grpc", "[WindAirCommands] Authentication completed: success={}", result.success);
41
42 Ok(result)
43}