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

72
snippets/go/metadata.go Normal file
View File

@@ -0,0 +1,72 @@
package example
import (
"encoding/json"
"log"
"github.com/breez/breez-sdk-go/breez_sdk"
)
func SetPaymentMetadata() {
// ANCHOR: set-payment-metadata
sdk.SetPaymentMetadata("target-payment-hash", `{"myCustomValue":true}`)
// ANCHOR_END: set-payment-metadata
}
func FilterPaymentMetadata() {
// ANCHOR: filter-payment-metadata
metadataFilters := []breez_sdk.MetadataFilter{
{JsonPath: "myCustomValue", JsonValue: "true"},
}
payments, err := sdk.ListPayments(breez_sdk.ListPaymentsRequest{
MetadataFilters: &metadataFilters,
})
if err != nil {
// handle error
}
// ANCHOR_END: filter-payment-metadata
log.Printf("%#v", payments)
}
func FilterPaymentMetadataString() {
// ANCHOR: filter-payment-metadata-string
metadataFilters := []breez_sdk.MetadataFilter{
{JsonPath: "customerName", JsonValue: "\"Satoshi Nakamoto\""},
}
jsonValue, _ := json.Marshal("Satoshi Nakamoto")
metadataFilters = []breez_sdk.MetadataFilter{
{
JsonPath: "customerName",
JsonValue: string(jsonValue),
},
}
// ANCHOR_END: filter-payment-metadata-string
sdk.ListPayments(breez_sdk.ListPaymentsRequest{
MetadataFilters: &metadataFilters,
})
}
func FilterPaymentMetadataObject() {
// ANCHOR: filter-payment-metadata-object
// This will *NOT* work
metadataFilters := []breez_sdk.MetadataFilter{
{JsonPath: "parent.nestedArray", JsonValue: "[1, 2, 3]"},
}
// Any of these will work
jsonValue, _ := json.Marshal([]int{1, 2, 3})
metadataFilters = []breez_sdk.MetadataFilter{
{JsonPath: "parent.nestedArray", JsonValue: "[1,2,3]"},
{JsonPath: "parent.nestedArray", JsonValue: string(jsonValue)},
}
// ANCHOR_END: filter-payment-metadata-object
sdk.ListPayments(breez_sdk.ListPaymentsRequest{
MetadataFilters: &metadataFilters,
})
}