From c289629a285d9a5e1e5e6a91ba11812935f4952c Mon Sep 17 00:00:00 2001 From: Aiden McClelland Date: Thu, 8 Aug 2024 20:05:30 -0600 Subject: [PATCH] bump sdk version --- .../startos/src/service/effects/dependency.rs | 57 +++++++------------ sdk/package-lock.json | 4 +- sdk/package.json | 2 +- 3 files changed, 23 insertions(+), 40 deletions(-) diff --git a/core/startos/src/service/effects/dependency.rs b/core/startos/src/service/effects/dependency.rs index fbd02800c..26582d061 100644 --- a/core/startos/src/service/effects/dependency.rs +++ b/core/startos/src/service/effects/dependency.rs @@ -4,8 +4,10 @@ use std::str::FromStr; use clap::builder::ValueParserFactory; use exver::VersionRange; +use imbl::OrdMap; +use imbl_value::InternedString; use itertools::Itertools; -use models::{HealthCheckId, PackageId, VolumeId}; +use models::{HealthCheckId, PackageId, VersionString, VolumeId}; use patch_db::json_ptr::JsonPointer; use tokio::process::Command; @@ -316,12 +318,16 @@ pub struct CheckDependenciesParam { #[ts(export)] pub struct CheckDependenciesResult { package_id: PackageId, - is_installed: bool, + #[ts(type = "string | null")] + title: Option, + #[ts(type = "string | null")] + installed_version: Option, + #[ts(type = "string[]")] + satisfies: BTreeSet, is_running: bool, config_satisfied: bool, - health_checks: BTreeMap, - #[ts(type = "string | null")] - version: Option, + #[ts(as = "BTreeMap::")] + health_checks: OrdMap, } pub async fn check_dependencies( context: EffectContext, @@ -347,36 +353,23 @@ pub async fn check_dependencies( let mut results = Vec::with_capacity(package_ids.len()); for (package_id, dependency_info) in package_ids { + let title = dependency_info.title.clone(); let Some(package) = db.as_public().as_package_data().as_idx(&package_id) else { results.push(CheckDependenciesResult { package_id, - is_installed: false, + title, + installed_version: None, + satisfies: BTreeSet::new(), is_running: false, config_satisfied: false, health_checks: Default::default(), - version: None, }); continue; }; let manifest = package.as_state_info().as_manifest(ManifestPreference::New); let installed_version = manifest.as_version().de()?.into_version(); let satisfies = manifest.as_satisfies().de()?; - let version = Some(installed_version.clone()); - if ![installed_version] - .into_iter() - .chain(satisfies.into_iter().map(|v| v.into_version())) - .any(|v| v.satisfies(&dependency_info.version_range)) - { - results.push(CheckDependenciesResult { - package_id, - is_installed: false, - is_running: false, - config_satisfied: false, - health_checks: Default::default(), - version, - }); - continue; - } + let installed_version = Some(installed_version.clone()); let is_installed = true; let status = package.as_status().as_main().de()?; let is_running = if is_installed { @@ -384,25 +377,15 @@ pub async fn check_dependencies( } else { false }; - let health_checks = - if let CurrentDependencyKind::Running { health_checks } = &dependency_info.kind { - status - .health() - .cloned() - .unwrap_or_default() - .into_iter() - .filter(|(id, _)| health_checks.contains(id)) - .collect() - } else { - Default::default() - }; + let health_checks = status.health().cloned().unwrap_or_default(); results.push(CheckDependenciesResult { package_id, - is_installed, + title, + installed_version, + satisfies, is_running, config_satisfied: dependency_info.config_satisfied, health_checks, - version, }); } Ok(results) diff --git a/sdk/package-lock.json b/sdk/package-lock.json index 06d456019..0e2bbf7cb 100644 --- a/sdk/package-lock.json +++ b/sdk/package-lock.json @@ -1,12 +1,12 @@ { "name": "@start9labs/start-sdk", - "version": "0.3.6-alpha5", + "version": "0.3.6-alpha7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@start9labs/start-sdk", - "version": "0.3.6-alpha5", + "version": "0.3.6-alpha7", "license": "MIT", "dependencies": { "@iarna/toml": "^2.2.5", diff --git a/sdk/package.json b/sdk/package.json index 1f9090b14..b2b2ceb44 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@start9labs/start-sdk", - "version": "0.3.6-alpha6", + "version": "0.3.6-alpha7", "description": "Software development kit to facilitate packaging services for StartOS", "main": "./cjs/lib/index.js", "types": "./cjs/lib/index.d.ts",