mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-08-31 07:37:21 +02:00
Extract yaak-api crate with sysproxy for OS-level proxy detection
- New crates/yaak-api crate with no Tauri dependency - Uses sysproxy to auto-detect OS proxy settings (macOS, Windows, Linux) - Moved yaak_api_client from yaak-tauri-utils, now takes version string - Removed api_client and error modules from yaak-tauri-utils - Updated all callers in license, plugins, notifications, and URI scheme
This commit is contained in:
@@ -16,7 +16,7 @@ thiserror = { workspace = true }
|
||||
ts-rs = { workspace = true }
|
||||
yaak-common = { workspace = true }
|
||||
yaak-models = { workspace = true }
|
||||
yaak-tauri-utils = { workspace = true }
|
||||
yaak-api = { workspace = true }
|
||||
|
||||
[build-dependencies]
|
||||
tauri-plugin = { workspace = true, features = ["build"] }
|
||||
|
||||
@@ -16,7 +16,7 @@ pub enum Error {
|
||||
ModelError(#[from] yaak_models::error::Error),
|
||||
|
||||
#[error(transparent)]
|
||||
TauriUtilsError(#[from] yaak_tauri_utils::error::Error),
|
||||
ApiError(#[from] yaak_api::Error),
|
||||
|
||||
#[error("Internal server error")]
|
||||
ServerError,
|
||||
|
||||
@@ -11,7 +11,7 @@ use yaak_common::platform::get_os_str;
|
||||
use yaak_models::db_context::DbContext;
|
||||
use yaak_models::query_manager::QueryManager;
|
||||
use yaak_models::util::UpdateSource;
|
||||
use yaak_tauri_utils::api_client::yaak_api_client;
|
||||
use yaak_api::yaak_api_client;
|
||||
|
||||
/// Extension trait for accessing the QueryManager from Tauri Manager types.
|
||||
/// This is needed temporarily until all crates are refactored to not use Tauri.
|
||||
@@ -118,7 +118,8 @@ pub async fn activate_license<R: Runtime>(
|
||||
license_key: &str,
|
||||
) -> Result<()> {
|
||||
info!("Activating license {}", license_key);
|
||||
let client = yaak_api_client(window.app_handle())?;
|
||||
let version = window.app_handle().package_info().version.to_string();
|
||||
let client = yaak_api_client(&version)?;
|
||||
let payload = ActivateLicenseRequestPayload {
|
||||
license_key: license_key.to_string(),
|
||||
app_platform: get_os_str().to_string(),
|
||||
@@ -155,7 +156,8 @@ pub async fn deactivate_license<R: Runtime>(window: &WebviewWindow<R>) -> Result
|
||||
let app_handle = window.app_handle();
|
||||
let activation_id = get_activation_id(app_handle).await;
|
||||
|
||||
let client = yaak_api_client(window.app_handle())?;
|
||||
let version = window.app_handle().package_info().version.to_string();
|
||||
let client = yaak_api_client(&version)?;
|
||||
let path = format!("/licenses/activations/{}/deactivate", activation_id);
|
||||
let payload = DeactivateLicenseRequestPayload {
|
||||
app_platform: get_os_str().to_string(),
|
||||
@@ -204,7 +206,8 @@ pub async fn check_license<R: Runtime>(window: &WebviewWindow<R>) -> Result<Lice
|
||||
(true, _) => {
|
||||
info!("Checking license activation");
|
||||
// A license has been activated, so let's check the license server
|
||||
let client = yaak_api_client(window.app_handle())?;
|
||||
let version = window.app_handle().package_info().version.to_string();
|
||||
let client = yaak_api_client(&version)?;
|
||||
let path = format!("/licenses/activations/{activation_id}/check-v2");
|
||||
let response = client.post(build_url(&path)).json(&payload).send().await?;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user