[pdm-devel] [PATCH yew-comp 1/2] subscription check: use more useful function signature

Dominik Csapak d.csapak at proxmox.com
Tue Dec 2 15:31:02 CET 2025


having a reference of an option is very unweildly at times, e.g. when
having the inner type, it's necessary to move it into an option, even if
`subscription_is_active` does not need to own the data.

using an option of a reference makes usage much more ergonomic at times.

Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
NOTE: this breaks current pdm, as it changes a public function
signature. Fix for pdm is the first datacenter manger patch.

 src/apt_package_manager.rs | 2 +-
 src/apt_repositories.rs    | 2 +-
 src/subscription_alert.rs  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/apt_package_manager.rs b/src/apt_package_manager.rs
index 0b4ae2e..b419957 100644
--- a/src/apt_package_manager.rs
+++ b/src/apt_package_manager.rs
@@ -198,7 +198,7 @@ impl LoadableComponent for ProxmoxAptPackageManager {
                 let command = format!("{}/update", props.base_url);
                 self.async_pool.spawn(async move {
                     let data = crate::http_get::<Value>(url.as_str(), None).await;
-                    let is_active = subscription_is_active(&Some(data));
+                    let is_active = subscription_is_active(Some(&data));
 
                     if is_active {
                         link.task_base_url(task_base_url);
diff --git a/src/apt_repositories.rs b/src/apt_repositories.rs
index 9ab8258..7157c0c 100644
--- a/src/apt_repositories.rs
+++ b/src/apt_repositories.rs
@@ -705,7 +705,7 @@ fn standard_repo_info(
 
 impl ProxmoxAptRepositories {
     fn active_subscription(&self) -> bool {
-        subscription_is_active(&self.subscription_status)
+        subscription_is_active(self.subscription_status.as_ref())
     }
 
     fn create_show_subscription_dialog(
diff --git a/src/subscription_alert.rs b/src/subscription_alert.rs
index 7734123..496d258 100644
--- a/src/subscription_alert.rs
+++ b/src/subscription_alert.rs
@@ -68,7 +68,7 @@ impl From<SubscriptionAlert> for VNode {
 }
 
 /// Check if the result of the subscription check returned an active subscription
-pub fn subscription_is_active(result: &Option<Result<Value, Error>>) -> bool {
+pub fn subscription_is_active(result: Option<&Result<Value, Error>>) -> bool {
     match result {
         Some(Ok(data)) => {
             data["status"].as_str().map(|s| s.to_lowercase()).as_deref() == Some("active")
-- 
2.47.3





More information about the pdm-devel mailing list