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" ) var ( custodialURLBase string dataURLBase string CustodialAPIKey string DataAPIKey string ) var ( CreateAccountURL string TrackStatusURL string BalanceURL string TrackURL string VoucherHoldingsURL string VoucherTransfersURL 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) return nil }