added type external for config

This commit is contained in:
Pasha 2024-11-27 13:17:36 +03:00
parent c6fa06b6cf
commit 4b4e5f6f78
5 changed files with 41 additions and 36 deletions

@ -67,7 +67,7 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error)
}
mongoDB, err := mongo.Connect(ctx, &mongo.ConnectDeps{
Configuration: &config.Database,
Configuration: &config.ExternalCfg.Database,
Timeout: 10 * time.Second,
})
if err != nil {
@ -116,7 +116,7 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error)
PaymentServiceURL: config.PaymentMicroservice,
VerificationURL: config.VerificationMicroservice,
TemplategenURL: config.TemplategenMicroserviceURL,
MailClient: config.MailClientCfg,
MailClient: config.ExternalCfg.MailClientCfg,
CodewordServiceHost: config.CodewordMicroservice,
Notifier: notificationBot,
NotificationRsPayChannel: config.NotificationRsPayChannel,
@ -144,7 +144,7 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error)
HLogger: loggerHlog,
})
encrypt := &config.EncryptCommon
encrypt := &config.ExternalCfg.EncryptCommon
middleWare := http.NewMiddleWare(logger)
@ -162,14 +162,14 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error)
Logger: logger,
Hlog: loggerHlog,
Controllers: []server.Controller{httpControllers.CurrencyClientController, httpControllers.HistoryClientController, httpControllers.CartClientController, httpControllers.WalletClientController, httpControllers.AccountClientController},
JWTConfig: &config.JwtCfg,
JWTConfig: &config.ExternalCfg.JwtCfg,
})
serverAdminHTTP := server.NewServer(server.ServerConfig{
Logger: logger,
Hlog: loggerHlog,
Controllers: []server.Controller{httpControllers.AccountAdminController, httpControllers.CurrencyAdminController, httpControllers.HistoryAdminController},
JWTConfig: &config.JwtCfg,
JWTConfig: &config.ExternalCfg.JwtCfg,
})
serverClientHTTP.ListRoutes()

@ -20,7 +20,7 @@ func Configuration(path string) (*models.Config, error) {
// return nil, err
//}
iniJWTConfiguration(&config.JwtCfg)
iniJWTConfiguration(&config.ExternalCfg.JwtCfg)
return config, nil
}

@ -71,21 +71,23 @@ func setDefaultTestingENV(t *testing.T) *models.Config {
PaymentMicroservice: "domen",
VerificationMicroservice: "domen",
TemplategenMicroserviceURL: "domen",
JwtCfg: models.JWTConfiguration{
PrivateKey: "jwt private key",
PublicKey: "jwt public key",
Issuer: "issuer",
Audience: "audience",
Algorithm: *jwt.SigningMethodRS256,
ExpiresIn: 15 * time.Minute,
},
Database: mongo.Configuration{
Host: "localhost",
Port: "27017",
User: "user",
Password: "pass",
Auth: "db",
DatabaseName: "db",
ExternalCfg: models.ExternalCfg{
JwtCfg: models.JWTConfiguration{
PrivateKey: "jwt private key",
PublicKey: "jwt public key",
Issuer: "issuer",
Audience: "audience",
Algorithm: *jwt.SigningMethodRS256,
ExpiresIn: 15 * time.Minute,
},
Database: mongo.Configuration{
Host: "localhost",
Port: "27017",
User: "user",
Password: "pass",
Auth: "db",
DatabaseName: "db",
},
},
}
@ -93,10 +95,10 @@ func setDefaultTestingENV(t *testing.T) *models.Config {
t.Setenv("GRPC_PORT", defaultConfiguration.GrpcPort)
t.Setenv("GRPC_DOMEN", defaultConfiguration.GrpcDomen)
t.Setenv("JWT_PUBLIC_KEY", defaultConfiguration.JwtCfg.PublicKey)
t.Setenv("JWT_PRIVATE_KEY", defaultConfiguration.JwtCfg.PrivateKey)
t.Setenv("JWT_ISSUER", defaultConfiguration.JwtCfg.Issuer)
t.Setenv("JWT_AUDIENCE", defaultConfiguration.JwtCfg.Audience)
t.Setenv("JWT_PUBLIC_KEY", defaultConfiguration.ExternalCfg.JwtCfg.PublicKey)
t.Setenv("JWT_PRIVATE_KEY", defaultConfiguration.ExternalCfg.JwtCfg.PrivateKey)
t.Setenv("JWT_ISSUER", defaultConfiguration.ExternalCfg.JwtCfg.Issuer)
t.Setenv("JWT_AUDIENCE", defaultConfiguration.ExternalCfg.JwtCfg.Audience)
t.Setenv("KAFKA_BROKERS", "localhost:8080,localhost:8081")
t.Setenv("KAFKA_TOPIC_TARIFF", defaultConfiguration.KafkaTopic)
@ -109,12 +111,12 @@ func setDefaultTestingENV(t *testing.T) *models.Config {
t.Setenv("VERIFICATION_MICROSERVICE_URL", defaultConfiguration.VerificationMicroservice)
t.Setenv("TEMPLATEGEN_MICROSERVICE_URL", defaultConfiguration.TemplategenMicroserviceURL)
t.Setenv("MONGO_HOST", defaultConfiguration.Database.Host)
t.Setenv("MONGO_PORT", defaultConfiguration.Database.Port)
t.Setenv("MONGO_USER", defaultConfiguration.Database.User)
t.Setenv("MONGO_PASSWORD", defaultConfiguration.Database.Password)
t.Setenv("MONGO_AUTH", defaultConfiguration.Database.Auth)
t.Setenv("MONGO_DB_NAME", defaultConfiguration.Database.DatabaseName)
t.Setenv("MONGO_HOST", defaultConfiguration.ExternalCfg.Database.Host)
t.Setenv("MONGO_PORT", defaultConfiguration.ExternalCfg.Database.Port)
t.Setenv("MONGO_USER", defaultConfiguration.ExternalCfg.Database.User)
t.Setenv("MONGO_PASSWORD", defaultConfiguration.ExternalCfg.Database.Password)
t.Setenv("MONGO_AUTH", defaultConfiguration.ExternalCfg.Database.Auth)
t.Setenv("MONGO_DB_NAME", defaultConfiguration.ExternalCfg.Database.DatabaseName)
return &defaultConfiguration
}

@ -32,10 +32,14 @@ type Config struct {
NotificationChannel int64 `env:"NOTIFICATION_CHANNEL"`
AdminURL string `env:"ADMIN_FRONT_URL"`
NotificationRsPayChannel int64 `env:"NOTIFICATION_RS_PAY_CHANNEL"`
EncryptCommon encrypt.Encrypt
JwtCfg JWTConfiguration
MailClientCfg MailClientCfg
Database mongo.Configuration
ExternalCfg ExternalCfg
}
type ExternalCfg struct {
EncryptCommon encrypt.Encrypt
JwtCfg JWTConfiguration
MailClientCfg MailClientCfg
Database mongo.Configuration
}
type MailClientCfg struct {

@ -17,7 +17,6 @@ func TestSendMessage(t *testing.T) {
ApiUrl: "https://api.smtp.bz/v1/smtp/send",
Sender: sender,
ApiKey: apiKey,
Auth: &models.PlainAuth{Username: "kotilion.95@gmail.com", Password: "vWwbCSg4bf0p"},
FiberClient: fiber.AcquireClient(),
MailAddress: "pashamullin2001@gmail.com",
}, zap.NewExample())