From 746a94952de6d506dee5f45c77c72ccb597bb516 Mon Sep 17 00:00:00 2001 From: HsiangNianian Date: Tue, 13 Jan 2026 16:14:49 +0800 Subject: Implement library rules validation and zip extraction utility - Added `is_library_allowed` function to evaluate library permissions based on defined rules. - Introduced `rule_matches` helper function to check OS compatibility for rules. - Created `extract_zip` function to handle zip file extraction, including directory creation and skipping of META-INF entries. --- src-tauri/src/core/game_version.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src-tauri/src/core/game_version.rs') diff --git a/src-tauri/src/core/game_version.rs b/src-tauri/src/core/game_version.rs index c33f99c..9eb8d67 100644 --- a/src-tauri/src/core/game_version.rs +++ b/src-tauri/src/core/game_version.rs @@ -44,6 +44,21 @@ pub struct AssetIndex { pub struct Library { pub downloads: Option, pub name: String, + pub rules: Option>, + pub natives: Option, +} + +#[derive(Debug, Deserialize)] +pub struct Rule { + pub action: String, // "allow" or "disallow" + pub os: Option, +} + +#[derive(Debug, Deserialize)] +pub struct OsRule { + pub name: Option, // "linux", "osx", "windows" + pub version: Option, // Regex + pub arch: Option, // "x86" } #[derive(Debug, Deserialize)] -- cgit v1.2.3-70-g09d2