From 49b0b63f55deb135d05bbbbfdba141097be2876c Mon Sep 17 00:00:00 2001 From: Stephan D Date: Thu, 5 Feb 2026 19:03:35 +0100 Subject: [PATCH] extended fields --- .../gateway/shared/network_registry.go | 36 +++++++++++++++++++ api/server/interface/api/sresponse/payment.go | 17 +++++---- 2 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 api/gateway/tron/internal/service/gateway/shared/network_registry.go diff --git a/api/gateway/tron/internal/service/gateway/shared/network_registry.go b/api/gateway/tron/internal/service/gateway/shared/network_registry.go new file mode 100644 index 00000000..8b1d78ad --- /dev/null +++ b/api/gateway/tron/internal/service/gateway/shared/network_registry.go @@ -0,0 +1,36 @@ +package shared + +import "strings" + +// NetworkRegistry provides network configuration lookup by name. +type NetworkRegistry struct { + networks map[string]Network +} + +// NewNetworkRegistry creates a NetworkRegistry from a slice of network configs. +func NewNetworkRegistry(networks []Network) *NetworkRegistry { + m := make(map[string]Network, len(networks)) + for _, n := range networks { + if n.Name.IsValid() { + m[strings.ToLower(n.Name.String())] = n + } + } + return &NetworkRegistry{networks: m} +} + +// Network returns the configuration for the named network. +func (r *NetworkRegistry) Network(name string) (Network, bool) { + if r == nil || r.networks == nil { + return Network{}, false + } + n, ok := r.networks[strings.ToLower(strings.TrimSpace(name))] + return n, ok +} + +// Networks returns all configured networks. +func (r *NetworkRegistry) Networks() map[string]Network { + if r == nil { + return nil + } + return r.networks +} diff --git a/api/server/interface/api/sresponse/payment.go b/api/server/interface/api/sresponse/payment.go index fa55778a..13eb0982 100644 --- a/api/server/interface/api/sresponse/payment.go +++ b/api/server/interface/api/sresponse/payment.go @@ -2,6 +2,7 @@ package sresponse import ( "net/http" + "time" "github.com/tech/sendico/pkg/api/http/response" "github.com/tech/sendico/pkg/mlogger" @@ -57,12 +58,14 @@ type PaymentQuotes struct { } type Payment struct { - PaymentRef string `json:"paymentRef,omitempty"` - IdempotencyKey string `json:"idempotencyKey,omitempty"` - State string `json:"state,omitempty"` - FailureCode string `json:"failureCode,omitempty"` - FailureReason string `json:"failureReason,omitempty"` - LastQuote *PaymentQuote `json:"lastQuote,omitempty"` + PaymentRef string `json:"paymentRef,omitempty"` + IdempotencyKey string `json:"idempotencyKey,omitempty"` + State string `json:"state,omitempty"` + FailureCode string `json:"failureCode,omitempty"` + FailureReason string `json:"failureReason,omitempty"` + LastQuote *PaymentQuote `json:"lastQuote,omitempty"` + CreatedAt time.Time `json:"createdAt,omitempty"` + Meta map[string]string `json:"meta,omitempty"` } type paymentQuoteResponse struct { @@ -251,5 +254,7 @@ func toPayment(p *orchestratorv1.Payment) *Payment { FailureCode: p.GetFailureCode().String(), FailureReason: p.GetFailureReason(), LastQuote: toPaymentQuote(p.GetLastQuote()), + CreatedAt: p.GetCreatedAt().AsTime(), + Meta: p.GetMetadata(), } } -- 2.49.1