treasurer/internal/initialize/config.go
2025-06-04 12:54:48 +03:00

28 lines
1.0 KiB
Go

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