feat: adding docs for payment metadata (#124)

Co-authored-by: vacwmX <vacwm01@gmail.com>
Co-authored-by: ok300 <106775972+ok300@users.noreply.github.com>
This commit is contained in:
yse
2024-02-29 23:32:59 +01:00
committed by GitHub
parent 09265637bf
commit 6254560488
10 changed files with 845 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
use std::sync::Arc;
use anyhow::Result;
use breez_sdk_core::*;
async fn set_payment_metadata(sdk: Arc<BreezServices>) -> Result<()> {
// ANCHOR: set-payment-metadata
sdk.set_payment_metadata("target-payment-hash", r#"{"myCustomValue":true}"#).await?;
// ANCHOR_END: set-payment-metadata
Ok(())
}
async fn filter_payment_metadata(sdk: Arc<BreezServices>) -> Result<()> {
// ANCHOR: filter-payment-metadata
let metadata_filters = vec![
MetadataFilter {
json_path: "myCustomValue".to_string(),
json_value: "true".to_string(),
},
];
sdk.list_payments(ListPaymentsRequest {
metadata_filters,
..Default::default(),
}).await?;
// ANCHOR_END: filter-payment-metadata
}
async fn filter_payment_metadata_string(sdk: Arc<BreezServices>) -> Result<()> {
// ANCHOR: filter-payment-metadata-string
// Note: The following are equivalent
let metadata_filters = vec![
MetadataFilter {
json_path: "customerName".to_string(),
json_value: r#""Satoshi Nakamoto""#.to_string(),
},
MetadataFilter {
json_path: "customerName".to_string(),
json_value: serde_json::json!("Satoshi Nakamoto").to_string(),
},
];
// ANCHOR_END: filter-payment-metadata-string
}
async fn filter_payment_metadata_object(sdk: Arc<BreezServices>) -> Result<()> {
// ANCHOR: filter-payment-metadata-object
// This will *NOT* work
let metadata_filters = vec![
MetadataFilter {
json_path: "parent.nestedArray".to_string(),
json_value: r#"[1, 2, 3]"#.to_string(),
},
];
// Any of these will work
let metadata_filters = vec![
MetadataFilter {
json_path: "parent.nestedArray".to_string(),
json_value: r#"[1,2,3]"#.to_string(),
},
];
// ANCHOR_END: filter-payment-metadata-object
// ANCHOR: filter-payment-metadata-object-serde
let metadata_filters = vec![
MetadataFilter {
json_path: "parent.nestedArray".to_string(),
json_value: serde_json::json!(&[1, 2, 3]).to_string(),
},
];
// ANCHOR_END: filter-payment-metadata-object-serde
Ok(())
}