71 lines
1.8 KiB
Go
71 lines
1.8 KiB
Go
package config
|
|
|
|
import (
|
|
"net/url"
|
|
|
|
"git.grassecon.net/urdt/ussd/initializers"
|
|
)
|
|
|
|
const (
|
|
createAccountPath = "/api/v2/account/create"
|
|
trackStatusPath = "/api/track"
|
|
balancePathPrefix = "/api/account"
|
|
trackPath = "/api/v2/account/status"
|
|
voucherHoldingsPathPrefix = "/api/v1/holdings"
|
|
voucherTransfersPathPrefix = "/api/v1/transfers/last10"
|
|
voucherDataPathPrefix = "/api/v1/token"
|
|
)
|
|
|
|
var (
|
|
custodialURLBase string
|
|
dataURLBase string
|
|
CustodialAPIKey string
|
|
DataAPIKey string
|
|
)
|
|
|
|
var (
|
|
CreateAccountURL string
|
|
TrackStatusURL string
|
|
BalanceURL string
|
|
TrackURL string
|
|
VoucherHoldingsURL string
|
|
VoucherTransfersURL string
|
|
VoucherDataURL string
|
|
)
|
|
|
|
func setBase() error {
|
|
var err error
|
|
|
|
custodialURLBase = initializers.GetEnv("CUSTODIAL_URL_BASE", "http://localhost:5003")
|
|
dataURLBase = initializers.GetEnv("DATA_URL_BASE", "http://localhost:5006")
|
|
CustodialAPIKey = initializers.GetEnv("CUSTODIAL_API_KEY", "xd")
|
|
DataAPIKey = initializers.GetEnv("DATA_API_KEY", "xd")
|
|
|
|
_, err = url.JoinPath(custodialURLBase, "/foo")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
_, err = url.JoinPath(dataURLBase, "/bar")
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// LoadConfig initializes the configuration values after environment variables are loaded.
|
|
func LoadConfig() error {
|
|
err := setBase()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
CreateAccountURL, _ = url.JoinPath(custodialURLBase, createAccountPath)
|
|
TrackStatusURL, _ = url.JoinPath(custodialURLBase, trackStatusPath)
|
|
BalanceURL, _ = url.JoinPath(custodialURLBase, balancePathPrefix)
|
|
TrackURL, _ = url.JoinPath(custodialURLBase, trackPath)
|
|
VoucherHoldingsURL, _ = url.JoinPath(dataURLBase, voucherHoldingsPathPrefix)
|
|
VoucherTransfersURL, _ = url.JoinPath(dataURLBase, voucherTransfersPathPrefix)
|
|
VoucherDataURL, _ = url.JoinPath(dataURLBase, voucherDataPathPrefix)
|
|
|
|
return nil
|
|
}
|