2024-08-26 11:09:48 +02:00
|
|
|
package config
|
|
|
|
|
2024-10-31 02:28:37 +01:00
|
|
|
import (
|
|
|
|
"net/url"
|
|
|
|
|
|
|
|
"git.grassecon.net/urdt/ussd/initializers"
|
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
2024-11-13 14:16:32 +01:00
|
|
|
createAccountPath = "/api/v2/account/create"
|
|
|
|
trackStatusPath = "/api/track"
|
|
|
|
balancePathPrefix = "/api/account"
|
|
|
|
trackPath = "/api/v2/account/status"
|
2024-11-14 17:35:44 +01:00
|
|
|
tokenTransferPrefix = "/api/v2/token/transfer"
|
2024-11-13 14:16:32 +01:00
|
|
|
voucherHoldingsPathPrefix = "/api/v1/holdings"
|
2024-10-31 02:28:37 +01:00
|
|
|
voucherTransfersPathPrefix = "/api/v1/transfers/last10"
|
2024-11-13 14:16:32 +01:00
|
|
|
voucherDataPathPrefix = "/api/v1/token"
|
2024-11-26 07:24:57 +01:00
|
|
|
AliasPrefix = "api/v1/alias"
|
2024-10-31 02:28:37 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
2024-11-15 16:35:49 +01:00
|
|
|
custodialURLBase string
|
|
|
|
dataURLBase string
|
|
|
|
BearerToken string
|
2024-10-31 02:28:37 +01:00
|
|
|
)
|
2024-08-26 11:09:48 +02:00
|
|
|
|
2024-10-15 22:41:16 +02:00
|
|
|
var (
|
2024-11-13 14:16:32 +01:00
|
|
|
CreateAccountURL string
|
|
|
|
TrackStatusURL string
|
|
|
|
BalanceURL string
|
|
|
|
TrackURL string
|
2024-11-14 17:35:44 +01:00
|
|
|
TokenTransferURL string
|
2024-11-13 14:16:32 +01:00
|
|
|
VoucherHoldingsURL string
|
|
|
|
VoucherTransfersURL string
|
|
|
|
VoucherDataURL string
|
2024-11-26 07:24:57 +01:00
|
|
|
CheckAliasURL string
|
2024-08-26 12:38:14 +02:00
|
|
|
)
|
2024-08-26 11:09:48 +02:00
|
|
|
|
2024-10-31 02:28:37 +01:00
|
|
|
func setBase() error {
|
|
|
|
var err error
|
|
|
|
|
|
|
|
custodialURLBase = initializers.GetEnv("CUSTODIAL_URL_BASE", "http://localhost:5003")
|
|
|
|
dataURLBase = initializers.GetEnv("DATA_URL_BASE", "http://localhost:5006")
|
2024-11-15 16:35:49 +01:00
|
|
|
BearerToken = initializers.GetEnv("BEARER_TOKEN", "")
|
2024-10-31 02:28:37 +01:00
|
|
|
|
|
|
|
_, err = url.JoinPath(custodialURLBase, "/foo")
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
_, err = url.JoinPath(dataURLBase, "/bar")
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2024-10-15 22:41:16 +02:00
|
|
|
// LoadConfig initializes the configuration values after environment variables are loaded.
|
2024-10-31 02:28:37 +01:00
|
|
|
func LoadConfig() error {
|
|
|
|
err := setBase()
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2024-11-13 14:16:32 +01:00
|
|
|
CreateAccountURL, _ = url.JoinPath(custodialURLBase, createAccountPath)
|
2024-10-31 02:28:37 +01:00
|
|
|
TrackStatusURL, _ = url.JoinPath(custodialURLBase, trackStatusPath)
|
|
|
|
BalanceURL, _ = url.JoinPath(custodialURLBase, balancePathPrefix)
|
|
|
|
TrackURL, _ = url.JoinPath(custodialURLBase, trackPath)
|
2024-11-14 17:35:44 +01:00
|
|
|
TokenTransferURL, _ = url.JoinPath(custodialURLBase, tokenTransferPrefix)
|
2024-10-31 02:28:37 +01:00
|
|
|
VoucherHoldingsURL, _ = url.JoinPath(dataURLBase, voucherHoldingsPathPrefix)
|
|
|
|
VoucherTransfersURL, _ = url.JoinPath(dataURLBase, voucherTransfersPathPrefix)
|
2024-11-03 15:34:26 +01:00
|
|
|
VoucherDataURL, _ = url.JoinPath(dataURLBase, voucherDataPathPrefix)
|
2024-11-26 07:24:57 +01:00
|
|
|
CheckAliasURL, _ = url.JoinPath(dataURLBase, AliasPrefix)
|
2024-10-31 02:28:37 +01:00
|
|
|
|
|
|
|
return nil
|
2024-10-15 22:41:16 +02:00
|
|
|
}
|