fixed rail & operation names

This commit is contained in:
Stephan D
2026-02-27 02:33:40 +01:00
parent 82cf91e703
commit 747153bdbf
73 changed files with 877 additions and 667 deletions

View File

@@ -1,21 +1,24 @@
package model
import "strings"
import (
"github.com/tech/sendico/pkg/discovery"
"strings"
)
var supportedRails = map[Rail]struct{}{
RailCrypto: {},
RailProviderSettlement: {},
RailLedger: {},
RailCardPayout: {},
RailFiatOnRamp: {},
RailFiatOffRamp: {},
discovery.RailCrypto: {},
discovery.RailProviderSettlement: {},
discovery.RailLedger: {},
discovery.RailCardPayout: {},
discovery.RailFiatOnRamp: {},
discovery.RailFiatOffRamp: {},
}
// ParseRail canonicalizes string values into a Rail token.
func ParseRail(value string) Rail {
clean := strings.ToUpper(strings.TrimSpace(value))
if clean == "" {
return RailUnspecified
return discovery.RailUnspecified
}
clean = strings.ReplaceAll(clean, "-", "_")
clean = strings.ReplaceAll(clean, " ", "_")
@@ -24,20 +27,20 @@ func ParseRail(value string) Rail {
}
switch clean {
case string(RailCrypto), "RAIL_CRYPTO":
return RailCrypto
case string(RailProviderSettlement), "PROVIDER_SETTLEMENT", "RAIL_SETTLEMENT", "RAIL_PROVIDER_SETTLEMENT":
return RailProviderSettlement
case string(RailLedger), "RAIL_LEDGER":
return RailLedger
case string(RailCardPayout), "CARD_PAYOUT", "RAIL_CARD", "RAIL_CARD_PAYOUT":
return RailCardPayout
case string(RailFiatOnRamp), "FIAT_ONRAMP", "RAIL_ONRAMP", "RAIL_FIAT_ONRAMP":
return RailFiatOnRamp
case string(RailFiatOffRamp), "FIAT_OFFRAMP", "RAIL_OFFRAMP", "RAIL_FIAT_OFFRAMP":
return RailFiatOffRamp
case string(discovery.RailCrypto), "RAIL_CRYPTO":
return discovery.RailCrypto
case string(discovery.RailProviderSettlement), "PROVIDER_SETTLEMENT", "RAIL_SETTLEMENT", "RAIL_PROVIDER_SETTLEMENT":
return discovery.RailProviderSettlement
case string(discovery.RailLedger), "RAIL_LEDGER":
return discovery.RailLedger
case string(discovery.RailCardPayout), "CARD_PAYOUT", "RAIL_CARD", "RAIL_CARD_PAYOUT":
return discovery.RailCardPayout
case string(discovery.RailFiatOnRamp), "FIAT_ONRAMP", "RAIL_ONRAMP", "RAIL_FIAT_ONRAMP":
return discovery.RailFiatOnRamp
case string(discovery.RailFiatOffRamp), "FIAT_OFFRAMP", "RAIL_OFFRAMP", "RAIL_FIAT_OFFRAMP":
return discovery.RailFiatOffRamp
default:
return RailUnspecified
return discovery.RailUnspecified
}
}
@@ -49,13 +52,13 @@ func IsSupportedRail(rail Rail) bool {
func normalizeRail(value Rail) Rail {
parsed := ParseRail(string(value))
if parsed != RailUnspecified {
if parsed != discovery.RailUnspecified {
return parsed
}
clean := strings.ToUpper(strings.TrimSpace(string(value)))
if clean == "" {
return RailUnspecified
return discovery.RailUnspecified
}
return Rail(clean)