conflict-upgrade status
change loxssptxyvlmrpltsxrywrzzmxnmvomr
commit d34e2dfa6e77fcc6d39886e5b450a9a0d1dddcfc
author Alpha Chen <alpha@kejadlen.dev>
date
parent xpwprqml
diff --git a/src/main.rs b/src/main.rs
index a802fa6..95f938a 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -65,6 +65,7 @@ impl From<LuaError> for FrorkError {
 enum Status {
     Ok,
     Missing,
+    ConflictUpgrade,
 }
 
 trait AssertionType: std::fmt::Display {
@@ -285,6 +286,7 @@ impl AssertionType for Debug {
             match result.as_str() {
                 "ok" => Ok(Status::Ok),
                 "missing" => Ok(Status::Missing),
+                "conflict-upgrade" => Ok(Status::ConflictUpgrade),
                 _ => Err(eyre!("Invalid status returned: '{}'", result)),
             }
         } else {
@@ -366,6 +368,7 @@ impl AssertionType for LuaAssertion {
         match result.as_str() {
             "ok" => Ok(Status::Ok),
             "missing" => Ok(Status::Missing),
+            "conflict-upgrade" => Ok(Status::ConflictUpgrade),
             _ => Err(eyre!("Invalid status returned: '{}'", result)),
         }
     }
@@ -632,6 +635,7 @@ fn status(status: &Status, assertion: &dyn AssertionType) -> Result<()> {
     match status {
         Status::Ok => println!("ok: {}", assertion),
         Status::Missing => println!("missing: {}", assertion),
+        Status::ConflictUpgrade => println!("conflict (upgradable): {}", assertion),
     }
     Ok(())
 }
@@ -644,6 +648,9 @@ fn satisfy(status: &Status, assertion: &dyn AssertionType) -> Result<()> {
             assertion.install()?;
             println!("ok: {}", assertion);
         }
+        Status::ConflictUpgrade => {
+            todo!("Handle conflict upgrade status in satisfy");
+        }
     }
     Ok(())
 }