treasurer/internal/initialize/config.go

28 lines
904 B
Go
Raw Normal View History

2023-06-13 13:22:51 +00:00
package initialize
import (
"gitea.pena/PenaSide/common/mongo"
"github.com/caarlos0/env/v8"
2023-06-13 13:22:51 +00:00
)
type Config struct {
HttpURL string `env:"HTTP_URL,required"`
HttpDomain string `env:"HTTP_DOMAIN,required"`
GrpcURL string `env:"GRPC_URL,required" envDefault:"localhost:9000"`
YooMoneyStoreID string `env:"YOOMONEY_STORE_ID,required"`
YooMoneySecretKey string `env:"YOOMONEY_SECRET_KEY,required"`
IsMock bool `env:"IS_MOCK,default=false"`
MockServiceHost string `env:"MOCK_SERVICE_HOST,default=http://localhost:8080"`
YooMoneyWebhooksURL string `env:"YOOMONEY_WEBHOOKS_URL,required"`
YooMoneyPaymentsURL string `env:"YOOMONEY_PAYMENTS_URL,required"`
Database mongo.Configuration
}
func LoadConfig() (*Config, error) {
var config Config
if err := env.Parse(&config); err != nil {
2023-06-13 13:22:51 +00:00
return nil, err
}
return &config, nil
2023-06-13 13:22:51 +00:00
}