Jelajahi Sumber

feat: refactored functionality of handle_paid_invoice into mint.

Caleb Beery 7 bulan lalu
induk
melakukan
90adb3f481
2 mengubah file dengan 25 tambahan dan 14 penghapusan
  1. 2 14
      crates/cdk-mintd/src/main.rs
  2. 23 0
      crates/cdk/src/mint/mod.rs

+ 2 - 14
crates/cdk-mintd/src/main.rs

@@ -370,20 +370,8 @@ async fn main() -> anyhow::Result<()> {
 /// Update mint quote when called for a paid invoice
 async fn handle_paid_invoice(mint: Arc<Mint>, request_lookup_id: &str) -> Result<()> {
     tracing::debug!("Invoice with lookup id paid: {}", request_lookup_id);
-    if let Ok(Some(mint_quote)) = mint
-        .localstore
-        .get_mint_quote_by_request_lookup_id(request_lookup_id)
-        .await
-    {
-        tracing::debug!(
-            "Quote {} paid by lookup id {}",
-            mint_quote.id,
-            request_lookup_id
-        );
-        mint.localstore
-            .update_mint_quote_state(&mint_quote.id, cdk::nuts::MintQuoteState::Paid)
-            .await?;
-    }
+    mint.pay_mint_quote_for_request_id(request_lookup_id)
+        .await?;
     Ok(())
 }
 

+ 23 - 0
crates/cdk/src/mint/mod.rs

@@ -286,6 +286,29 @@ impl Mint {
         Ok(())
     }
 
+    /// Flag mint quote as paid
+    #[instrument(skip_all)]
+    pub async fn pay_mint_quote_for_request_id(
+        &self,
+        request_lookup_id: &str,
+    ) -> Result<(), Error> {
+        if let Ok(Some(mint_quote)) = self
+            .localstore
+            .get_mint_quote_by_request_lookup_id(request_lookup_id)
+            .await
+        {
+            tracing::debug!(
+                "Quote {} paid by lookup id {}",
+                mint_quote.id,
+                request_lookup_id
+            );
+            self.localstore
+                .update_mint_quote_state(&mint_quote.id, MintQuoteState::Paid)
+                .await?;
+        }
+        Ok(())
+    }
+
     /// New melt quote
     #[instrument(skip_all)]
     pub async fn new_melt_quote(