generated from PenaSide/GolangTemplate
work with cfg
This commit is contained in:
parent
4533cd318b
commit
9e3136bd41
@ -29,13 +29,13 @@ services:
|
||||
- KAFKA_BROKERS=10.8.0.6:9092
|
||||
- KAFKA_TOPIC_TARIFF=tariffs
|
||||
|
||||
- AUTH_MICROSERVICE_USER_URL=http://10.8.0.6:59300/user
|
||||
- HUBADMIN_MICROSERVICE_TARIFF_URL=http://10.8.0.6:59303/tariff
|
||||
- CURRENCY_MICROSERVICE_TRANSLATE_URL=http://10.8.0.6:3131/change
|
||||
- AUTH_MICROSERVICE_URL=http://10.8.0.6:59300
|
||||
- HUBADMIN_MICROSERVICE_URL=http://10.8.0.6:59303
|
||||
- CURRENCY_MICROSERVICE_URL=http://10.8.0.6:3131
|
||||
- DISCOUNT_MICROSERVICE_GRPC_HOST=10.8.0.6:9001
|
||||
- PAYMENT_MICROSERVICE_GRPC_HOST=10.8.0.6:9085
|
||||
- VERIFICATION_MICROSERVICE_USER_URL=http://10.8.0.6:7036/verification
|
||||
- TEMPLATEGEN_MICROSERVICE_URL=http://10.6.0.17/generator/service
|
||||
- VERIFICATION_MICROSERVICE_URL=http://10.8.0.6:7036
|
||||
- TEMPLATEGEN_MICROSERVICE_URL=http://10.6.0.17
|
||||
- API_URL=https://api.smtp.bz/v1/smtp/send
|
||||
- CODEWORD_MICROSERVICE_GRPC_HOST=10.8.0.6:59665
|
||||
- MAIL_SENDER=noreply@mailing.pena.digital
|
||||
|
@ -48,7 +48,7 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error)
|
||||
ctx, cancel := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
|
||||
defer cancel()
|
||||
|
||||
clickHouseLogger, err := zaptrashlog.NewCore(ctx, zap.InfoLevel, config.Service.TrashLogHost, build.Version, build.Commit, build.BuildTime)
|
||||
clickHouseLogger, err := zaptrashlog.NewCore(ctx, zap.InfoLevel, config.TrashLogHost, build.Version, build.Commit, build.BuildTime)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
@ -57,12 +57,12 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error)
|
||||
return zapcore.NewTee(core, clickHouseLogger)
|
||||
}), zap.AddCallerSkip(2))
|
||||
|
||||
loggerHlog := hlog.New(loggerForHlog).Module(config.Service.ModuleLogger)
|
||||
loggerHlog := hlog.New(loggerForHlog).Module(config.ModuleLogger)
|
||||
loggerHlog.With(models.AllFields{})
|
||||
loggerHlog.Emit(app.InfoSvcStarted{})
|
||||
|
||||
if err = kafka.Initialize(ctx, config.Service.Kafka.Brokers, []string{
|
||||
config.Service.Kafka.Tariff.Topic,
|
||||
if err = kafka.Initialize(ctx, config.KafkaBrokers, []string{
|
||||
config.KafkaTopic,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("failed initialize kafka: %w", err)
|
||||
}
|
||||
@ -76,10 +76,10 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error)
|
||||
}
|
||||
|
||||
kafkaTariffClient, err := kgo.NewClient(
|
||||
kgo.SeedBrokers(config.Service.Kafka.Brokers...),
|
||||
kgo.SeedBrokers(config.KafkaBrokers...),
|
||||
kgo.ConsumeResetOffset(kgo.NewOffset().AtStart()),
|
||||
kgo.DefaultProduceTopic(config.Service.Kafka.Tariff.Topic),
|
||||
kgo.ConsumeTopics(config.Service.Kafka.Tariff.Topic),
|
||||
kgo.DefaultProduceTopic(config.KafkaTopic),
|
||||
kgo.ConsumeTopics(config.KafkaTopic),
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -96,7 +96,7 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error)
|
||||
}
|
||||
|
||||
notificationBot, err := tb.NewBot(tb.Settings{
|
||||
Token: config.Service.NotificationBotToken,
|
||||
Token: config.NotificationBotToken,
|
||||
Verbose: false,
|
||||
ParseMode: tb.ModeHTML,
|
||||
Poller: &tb.LongPoller{
|
||||
@ -110,17 +110,17 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error)
|
||||
|
||||
clients := initialize.NewClients(initialize.ClientsDeps{
|
||||
Logger: logger,
|
||||
AuthURL: &config.Service.AuthMicroservice.URL,
|
||||
HubadminURL: &config.Service.HubadminMicroservice.URL,
|
||||
CurrencyURL: &config.Service.CurrencyMicroservice.URL,
|
||||
DiscountServiceConfiguration: &config.Service.DiscountMicroservice,
|
||||
PaymentServiceConfiguration: &config.Service.PaymentMicroservice,
|
||||
VerificationURL: &config.Service.VerificationMicroservice.URL,
|
||||
TemplategenURL: &config.Service.TemplategenMicroserviceURL.URL,
|
||||
MailClient: &config.Service.Mail,
|
||||
CodewordServiceHost: &config.Service.CodewordMicroservice,
|
||||
AuthURL: config.AuthMicroservice,
|
||||
HubadminURL: config.HubadminMicroservice,
|
||||
CurrencyURL: config.CurrencyMicroservice,
|
||||
DiscountServiceURL: config.DiscountMicroservice,
|
||||
PaymentServiceURL: config.PaymentMicroservice,
|
||||
VerificationURL: config.VerificationMicroservice,
|
||||
TemplategenURL: config.TemplategenMicroserviceURL,
|
||||
MailClient: config.MailClientCfg,
|
||||
CodewordServiceHost: config.CodewordMicroservice,
|
||||
Notifier: notificationBot,
|
||||
NotificationRsPayChannel: config.Service.NotificationRsPayChannel,
|
||||
NotificationRsPayChannel: config.NotificationRsPayChannel,
|
||||
})
|
||||
|
||||
repositories := initialize.NewRepositories(initialize.RepositoriesDeps{
|
||||
@ -132,11 +132,10 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error)
|
||||
Logger: logger,
|
||||
Repositories: repositories,
|
||||
Clients: clients,
|
||||
ConfigurationGRPC: &config.GRPC,
|
||||
Brokers: brokers,
|
||||
Notifier: notificationBot,
|
||||
NotificationChannel: config.Service.NotificationChannel,
|
||||
AdminURL: config.Service.AdminURL,
|
||||
NotificationChannel: config.NotificationChannel,
|
||||
AdminURL: config.AdminURL,
|
||||
})
|
||||
|
||||
rpcControllers := initialize.NewRpcControllers(initialize.RpcControllersDeps{
|
||||
@ -153,7 +152,7 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error)
|
||||
Logger: logger,
|
||||
Encrypt: encrypt,
|
||||
Producer: brokers.TariffProducer,
|
||||
GRPC: &config.GRPC,
|
||||
GRPCDomain: config.GrpcDomen,
|
||||
Repositories: repositories,
|
||||
Clients: clients,
|
||||
MiddleWare: middleWare,
|
||||
@ -163,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.Service.JWT,
|
||||
JWTConfig: &config.JwtCfg,
|
||||
})
|
||||
|
||||
serverAdminHTTP := server.NewServer(server.ServerConfig{
|
||||
Logger: logger,
|
||||
Hlog: loggerHlog,
|
||||
Controllers: []server.Controller{httpControllers.AccountAdminController, httpControllers.CurrencyAdminController, httpControllers.HistoryAdminController},
|
||||
JWTConfig: &config.Service.JWT,
|
||||
JWTConfig: &config.JwtCfg,
|
||||
})
|
||||
|
||||
serverClientHTTP.ListRoutes()
|
||||
@ -184,20 +183,20 @@ func Run(config *models.Config, logger *zap.Logger, build Build) (appErr error)
|
||||
serverGRPC.Register(rpcControllers)
|
||||
|
||||
go func() {
|
||||
if err := serverClientHTTP.Start(config.HTTP.ClientHost + ":" + config.HTTP.ClientPort); err != nil {
|
||||
if err := serverClientHTTP.Start(config.ClientHttpHost + ":" + config.ClientHttpPort); err != nil {
|
||||
logger.Error("Server external startup error", zap.Error(err))
|
||||
cancel()
|
||||
}
|
||||
}()
|
||||
|
||||
go func() {
|
||||
if err := serverAdminHTTP.Start(config.HTTP.AdminHost + ":" + config.HTTP.AdminPort); err != nil {
|
||||
if err := serverAdminHTTP.Start(config.AdminHttpHost + ":" + config.AdminHttpPort); err != nil {
|
||||
logger.Error("Server internal startup error", zap.Error(err))
|
||||
cancel()
|
||||
}
|
||||
}()
|
||||
|
||||
go serverGRPC.Run(&config.GRPC)
|
||||
go serverGRPC.Run(config.GrpcHost, config.GrpcPort)
|
||||
|
||||
closer.Add(mongoDB.Client().Disconnect)
|
||||
closer.Add(serverClientHTTP.Shutdown)
|
||||
|
@ -1,24 +1,23 @@
|
||||
package initialize
|
||||
|
||||
import (
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"go.uber.org/zap"
|
||||
"gopkg.in/tucnak/telebot.v2"
|
||||
"gitea.pena/PenaSide/customer/internal/interface/client"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"go.uber.org/zap"
|
||||
"gopkg.in/tucnak/telebot.v2"
|
||||
)
|
||||
|
||||
type ClientsDeps struct {
|
||||
Logger *zap.Logger
|
||||
AuthURL *models.AuthMicroserviceURL
|
||||
HubadminURL *models.HubadminMicroserviceURL
|
||||
CurrencyURL *models.CurrencyMicroserviceURL
|
||||
DiscountServiceConfiguration *models.DiscountMicroserviceConfiguration
|
||||
PaymentServiceConfiguration *models.PaymentMicroserviceConfiguration
|
||||
VerificationURL *models.VerificationMicroserviceURL
|
||||
TemplategenURL *models.TemplategenMicroserviceURL
|
||||
MailClient *models.MailConfiguration
|
||||
CodewordServiceHost *models.CodewordMicroserviceConfiguration
|
||||
AuthURL string
|
||||
HubadminURL string
|
||||
CurrencyURL string
|
||||
DiscountServiceURL string
|
||||
PaymentServiceURL string
|
||||
VerificationURL string
|
||||
TemplategenURL string
|
||||
MailClient models.MailClientCfg
|
||||
CodewordServiceHost string
|
||||
NotificationRsPayChannel int64
|
||||
Notifier *telebot.Bot
|
||||
}
|
||||
@ -40,48 +39,36 @@ func NewClients(deps ClientsDeps) *Clients {
|
||||
return &Clients{
|
||||
AuthClient: client.NewAuthClient(client.AuthClientDeps{
|
||||
Logger: deps.Logger,
|
||||
URLs: deps.AuthURL,
|
||||
URL: deps.AuthURL,
|
||||
}),
|
||||
HubadminClient: client.NewHubadminClient(client.HubadminClientDeps{
|
||||
Logger: deps.Logger,
|
||||
URLs: deps.HubadminURL,
|
||||
URL: deps.HubadminURL,
|
||||
}),
|
||||
CurrencyClient: client.NewCurrencyClient(client.CurrencyClientDeps{
|
||||
Logger: deps.Logger,
|
||||
URLs: deps.CurrencyURL,
|
||||
URL: deps.CurrencyURL,
|
||||
}),
|
||||
DiscountClient: client.NewDiscountClient(client.DiscountClientDeps{
|
||||
Logger: deps.Logger,
|
||||
DiscountServiceHost: deps.DiscountServiceConfiguration.HostGRPC,
|
||||
DiscountServiceHost: deps.DiscountServiceURL,
|
||||
}),
|
||||
PaymentClient: client.NewPaymentClient(client.PaymentClientDeps{
|
||||
Logger: deps.Logger,
|
||||
PaymentServiceHost: deps.PaymentServiceConfiguration.HostGRPC,
|
||||
PaymentServiceHost: deps.PaymentServiceURL,
|
||||
}),
|
||||
VerificationClient: client.NewVerificationClient(client.VerificationClientDeps{
|
||||
Logger: deps.Logger,
|
||||
URLs: deps.VerificationURL,
|
||||
URL: deps.VerificationURL,
|
||||
}),
|
||||
TemplateClient: client.NewTemplateClient(client.TemplateClientDeps{
|
||||
Logger: deps.Logger,
|
||||
URLs: deps.TemplategenURL,
|
||||
}),
|
||||
MailClient: client.NewMailClient(client.MailClientDeps{
|
||||
Logger: deps.Logger,
|
||||
ApiUrl: deps.MailClient.ApiUrl,
|
||||
Sender: deps.MailClient.Sender,
|
||||
Auth: &models.PlainAuth{
|
||||
Identity: deps.MailClient.Auth.Identity,
|
||||
Username: deps.MailClient.Auth.Username,
|
||||
Password: deps.MailClient.Auth.Password,
|
||||
},
|
||||
ApiKey: deps.MailClient.ApiKey,
|
||||
FiberClient: fiber.AcquireClient(),
|
||||
MailAddress: deps.MailClient.MailAddress,
|
||||
URL: deps.TemplategenURL,
|
||||
}),
|
||||
MailClient: client.NewMailClient(deps.MailClient, deps.Logger),
|
||||
CodewordClient: client.NewCodewordClient(client.CodewordClientDeps{
|
||||
Logger: deps.Logger,
|
||||
CodewordServiceHost: deps.CodewordServiceHost.HostGRPC,
|
||||
CodewordServiceHost: deps.CodewordServiceHost,
|
||||
}),
|
||||
TelegramClient: client.NewTelegramClient(client.TelegramClientDeps{
|
||||
Notifier: deps.Notifier,
|
||||
|
@ -3,10 +3,9 @@ package initialize_test
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.pena/PenaSide/customer/internal/initialize"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"go.uber.org/zap"
|
||||
"gitea.pena/PenaSide/customer/internal/initialize"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
)
|
||||
|
||||
func TestNewClients(t *testing.T) {
|
||||
@ -16,13 +15,13 @@ func TestNewClients(t *testing.T) {
|
||||
assert.NotPanics(t, func() {
|
||||
clients := initialize.NewClients(initialize.ClientsDeps{
|
||||
Logger: logger,
|
||||
AuthURL: &models.AuthMicroserviceURL{},
|
||||
HubadminURL: &models.HubadminMicroserviceURL{},
|
||||
CurrencyURL: &models.CurrencyMicroserviceURL{},
|
||||
DiscountServiceConfiguration: &models.DiscountMicroserviceConfiguration{HostGRPC: "host"},
|
||||
PaymentServiceConfiguration: &models.PaymentMicroserviceConfiguration{HostGRPC: "host"},
|
||||
VerificationURL: &models.VerificationMicroserviceURL{Verification: ""},
|
||||
TemplategenURL: &models.TemplategenMicroserviceURL{Templategen: ""},
|
||||
AuthURL: "",
|
||||
HubadminURL: "",
|
||||
CurrencyURL: "",
|
||||
DiscountServiceURL: "",
|
||||
PaymentServiceURL: "",
|
||||
VerificationURL: "",
|
||||
TemplategenURL: "",
|
||||
})
|
||||
|
||||
assert.NotNil(t, clients)
|
||||
|
@ -3,10 +3,9 @@ package initialize
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"gitea.pena/PenaSide/customer/internal/utils"
|
||||
"gitea.pena/PenaSide/customer/pkg/env"
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
)
|
||||
|
||||
// TODO: обработать возможность читать конфиги ещё по json
|
||||
@ -17,11 +16,11 @@ func Configuration(path string) (*models.Config, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if err := utils.ValidateConfigurationURLs(&config.Service); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
//if err := utils.ValidateConfigurationURLs(&config.Service); err != nil {
|
||||
// return nil, err
|
||||
//}
|
||||
|
||||
iniJWTConfiguration(&config.Service.JWT)
|
||||
iniJWTConfiguration(&config.JwtCfg)
|
||||
|
||||
return config, nil
|
||||
}
|
||||
|
@ -4,11 +4,11 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"gitea.pena/PenaSide/customer/internal/initialize"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"penahub.gitlab.yandexcloud.net/backend/penahub_common/mongo"
|
||||
"gitea.pena/PenaSide/customer/internal/initialize"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
)
|
||||
|
||||
func TestConfiguration(t *testing.T) {
|
||||
@ -48,61 +48,30 @@ func TestConfiguration(t *testing.T) {
|
||||
func setDefaultTestingENV(t *testing.T) *models.Config {
|
||||
t.Helper()
|
||||
|
||||
defaultAuthURL := models.AuthMicroserviceURL{
|
||||
User: "http://www.auth.ru/user",
|
||||
}
|
||||
defaultAuthURL := "http://www.auth.ru/user"
|
||||
|
||||
defaultHubAdminURL := models.HubadminMicroserviceURL{
|
||||
Tariff: "http://www.hubadmin.ru/tariff",
|
||||
}
|
||||
defaultHubAdminURL := "http://www.hubadmin.ru/tariff"
|
||||
|
||||
defaultCurrencyURL := models.CurrencyMicroserviceURL{
|
||||
Translate: "http://www.currency.ru/change",
|
||||
}
|
||||
defaultCurrencyURL := "http://www.currency.ru/change"
|
||||
|
||||
defaultConfiguration := models.Config{
|
||||
HTTP: models.ConfigurationHTTP{
|
||||
ClientHost: "localhost",
|
||||
ClientPort: "8080",
|
||||
AdminHost: "localhost",
|
||||
AdminPort: "8081",
|
||||
},
|
||||
GRPC: models.ConfigurationGRPC{
|
||||
Host: "localhost",
|
||||
Port: "8081",
|
||||
Domen: "domen",
|
||||
},
|
||||
Service: models.ServiceConfiguration{
|
||||
AuthMicroservice: models.AuthMicroserviceConfiguration{
|
||||
URL: defaultAuthURL,
|
||||
},
|
||||
Kafka: models.KafkaConfiguration{
|
||||
Tariff: models.TariffKafkaConfiguration{Topic: "topic"},
|
||||
Brokers: []string{"localhost:8080", "localhost:8081"},
|
||||
},
|
||||
HubadminMicroservice: models.HubadminMicroserviceConfiguration{
|
||||
URL: defaultHubAdminURL,
|
||||
},
|
||||
CurrencyMicroservice: models.CurrencyMicroserviceConfiguration{
|
||||
URL: defaultCurrencyURL,
|
||||
},
|
||||
DiscountMicroservice: models.DiscountMicroserviceConfiguration{
|
||||
HostGRPC: "domen",
|
||||
},
|
||||
PaymentMicroservice: models.PaymentMicroserviceConfiguration{
|
||||
HostGRPC: "domen",
|
||||
},
|
||||
VerificationMicroservice: models.VerificationMicroserviceConfiguration{
|
||||
URL: models.VerificationMicroserviceURL{
|
||||
Verification: "domen",
|
||||
},
|
||||
},
|
||||
TemplategenMicroserviceURL: models.TemplategenMicroserviceConfiguration{
|
||||
URL: models.TemplategenMicroserviceURL{
|
||||
Templategen: "domen",
|
||||
},
|
||||
},
|
||||
JWT: models.JWTConfiguration{
|
||||
ClientHttpHost: "localhost",
|
||||
ClientHttpPort: "8080",
|
||||
AdminHttpHost: "localhost",
|
||||
AdminHttpPort: "8081",
|
||||
GrpcHost: "localhost",
|
||||
GrpcPort: "8081",
|
||||
GrpcDomen: "domen",
|
||||
AuthMicroservice: defaultAuthURL,
|
||||
KafkaTopic: "topic",
|
||||
KafkaBrokers: []string{"localhost:8080", "localhost:8081"},
|
||||
HubadminMicroservice: defaultHubAdminURL,
|
||||
CurrencyMicroservice: defaultCurrencyURL,
|
||||
DiscountMicroservice: "domen",
|
||||
PaymentMicroservice: "domen",
|
||||
VerificationMicroservice: "domen",
|
||||
TemplategenMicroserviceURL: "domen",
|
||||
JwtCfg: models.JWTConfiguration{
|
||||
PrivateKey: "jwt private key",
|
||||
PublicKey: "jwt public key",
|
||||
Issuer: "issuer",
|
||||
@ -110,7 +79,6 @@ func setDefaultTestingENV(t *testing.T) *models.Config {
|
||||
Algorithm: *jwt.SigningMethodRS256,
|
||||
ExpiresIn: 15 * time.Minute,
|
||||
},
|
||||
},
|
||||
Database: mongo.Configuration{
|
||||
Host: "localhost",
|
||||
Port: "27017",
|
||||
@ -121,25 +89,25 @@ func setDefaultTestingENV(t *testing.T) *models.Config {
|
||||
},
|
||||
}
|
||||
|
||||
t.Setenv("GRPC_HOST", defaultConfiguration.GRPC.Host)
|
||||
t.Setenv("GRPC_PORT", defaultConfiguration.GRPC.Port)
|
||||
t.Setenv("GRPC_DOMEN", defaultConfiguration.GRPC.Domen)
|
||||
t.Setenv("GRPC_HOST", defaultConfiguration.GrpcHost)
|
||||
t.Setenv("GRPC_PORT", defaultConfiguration.GrpcPort)
|
||||
t.Setenv("GRPC_DOMEN", defaultConfiguration.GrpcDomen)
|
||||
|
||||
t.Setenv("JWT_PUBLIC_KEY", defaultConfiguration.Service.JWT.PublicKey)
|
||||
t.Setenv("JWT_PRIVATE_KEY", defaultConfiguration.Service.JWT.PrivateKey)
|
||||
t.Setenv("JWT_ISSUER", defaultConfiguration.Service.JWT.Issuer)
|
||||
t.Setenv("JWT_AUDIENCE", defaultConfiguration.Service.JWT.Audience)
|
||||
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("KAFKA_BROKERS", "localhost:8080,localhost:8081")
|
||||
t.Setenv("KAFKA_TOPIC_TARIFF", defaultConfiguration.Service.Kafka.Tariff.Topic)
|
||||
t.Setenv("KAFKA_TOPIC_TARIFF", defaultConfiguration.KafkaTopic)
|
||||
|
||||
t.Setenv("AUTH_MICROSERVICE_USER_URL", defaultConfiguration.Service.AuthMicroservice.URL.User)
|
||||
t.Setenv("HUBADMIN_MICROSERVICE_TARIFF_URL", defaultConfiguration.Service.HubadminMicroservice.URL.Tariff)
|
||||
t.Setenv("CURRENCY_MICROSERVICE_TRANSLATE_URL", defaultConfiguration.Service.CurrencyMicroservice.URL.Translate)
|
||||
t.Setenv("DISCOUNT_MICROSERVICE_GRPC_HOST", defaultConfiguration.Service.DiscountMicroservice.HostGRPC)
|
||||
t.Setenv("PAYMENT_MICROSERVICE_GRPC_HOST", defaultConfiguration.Service.PaymentMicroservice.HostGRPC)
|
||||
t.Setenv("VERIFICATION_MICROSERVICE_USER_URL", defaultConfiguration.Service.VerificationMicroservice.URL.Verification)
|
||||
t.Setenv("TEMPLATEGEN_MICROSERVICE_URL", defaultConfiguration.Service.TemplategenMicroserviceURL.URL.Templategen)
|
||||
t.Setenv("AUTH_MICROSERVICE_URL", defaultConfiguration.AuthMicroservice)
|
||||
t.Setenv("HUBADMIN_MICROSERVICE_URL", defaultConfiguration.HubadminMicroservice)
|
||||
t.Setenv("CURRENCY_MICROSERVICE_URL", defaultConfiguration.CurrencyMicroservice)
|
||||
t.Setenv("DISCOUNT_MICROSERVICE_GRPC_HOST", defaultConfiguration.DiscountMicroservice)
|
||||
t.Setenv("PAYMENT_MICROSERVICE_GRPC_HOST", defaultConfiguration.PaymentMicroservice)
|
||||
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)
|
||||
|
@ -1,9 +1,6 @@
|
||||
package initialize
|
||||
|
||||
import (
|
||||
"github.com/themakers/hlog"
|
||||
"go.uber.org/zap"
|
||||
qutils "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/utils"
|
||||
"gitea.pena/PenaSide/customer/internal/interface/broker/tariff"
|
||||
"gitea.pena/PenaSide/customer/internal/interface/controller/grpc/customer"
|
||||
"gitea.pena/PenaSide/customer/internal/interface/controller/grpc/payment"
|
||||
@ -16,7 +13,9 @@ import (
|
||||
"gitea.pena/PenaSide/customer/internal/interface/controller/http/history_admin"
|
||||
"gitea.pena/PenaSide/customer/internal/interface/controller/http/history_client"
|
||||
"gitea.pena/PenaSide/customer/internal/interface/controller/http/wallet_client"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"github.com/themakers/hlog"
|
||||
"go.uber.org/zap"
|
||||
qutils "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/utils"
|
||||
)
|
||||
|
||||
type RpcControllersDeps struct {
|
||||
@ -49,7 +48,7 @@ func NewRpcControllers(deps RpcControllersDeps) *RpcControllers {
|
||||
type HttpControllersDeps struct {
|
||||
Encrypt *qutils.Encrypt
|
||||
Producer *tariff.Producer
|
||||
GRPC *models.ConfigurationGRPC
|
||||
GRPCDomain string
|
||||
MiddleWare *http.MiddleWare
|
||||
Logger *zap.Logger
|
||||
Repositories *Repositories
|
||||
@ -126,7 +125,7 @@ func NewHttpControllers(deps HttpControllersDeps) *HttpController {
|
||||
MiddleWare: deps.MiddleWare,
|
||||
AuthClient: deps.Clients.AuthClient,
|
||||
PaymentClient: deps.Clients.PaymentClient,
|
||||
GRPC: deps.GRPC,
|
||||
GRPCDomain: deps.GRPCDomain,
|
||||
AccountRepo: deps.Repositories.AccountRepository,
|
||||
CurrencyClient: deps.Clients.CurrencyClient,
|
||||
VerifyClient: deps.Clients.VerificationClient,
|
||||
|
@ -3,11 +3,10 @@ package initialize_test
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.pena/PenaSide/customer/internal/initialize"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"go.mongodb.org/mongo-driver/mongo/integration/mtest"
|
||||
"go.uber.org/zap"
|
||||
"gitea.pena/PenaSide/customer/internal/initialize"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
)
|
||||
|
||||
func TestNewControllers(t *testing.T) {
|
||||
@ -19,13 +18,13 @@ func TestNewControllers(t *testing.T) {
|
||||
assert.NotPanics(t, func() {
|
||||
clients := initialize.NewClients(initialize.ClientsDeps{
|
||||
Logger: logger,
|
||||
AuthURL: &models.AuthMicroserviceURL{},
|
||||
HubadminURL: &models.HubadminMicroserviceURL{},
|
||||
CurrencyURL: &models.CurrencyMicroserviceURL{},
|
||||
DiscountServiceConfiguration: &models.DiscountMicroserviceConfiguration{HostGRPC: "host"},
|
||||
PaymentServiceConfiguration: &models.PaymentMicroserviceConfiguration{HostGRPC: "host"},
|
||||
VerificationURL: &models.VerificationMicroserviceURL{Verification: ""},
|
||||
TemplategenURL: &models.TemplategenMicroserviceURL{Templategen: ""},
|
||||
AuthURL: "",
|
||||
HubadminURL: "",
|
||||
CurrencyURL: "",
|
||||
DiscountServiceURL: "host",
|
||||
PaymentServiceURL: "host",
|
||||
VerificationURL: "",
|
||||
TemplategenURL: "",
|
||||
})
|
||||
|
||||
repositories := initialize.NewRepositories(initialize.RepositoriesDeps{
|
||||
|
@ -1,13 +1,12 @@
|
||||
package initialize
|
||||
|
||||
import (
|
||||
"go.uber.org/zap"
|
||||
tb "gopkg.in/tucnak/telebot.v2"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"gitea.pena/PenaSide/customer/internal/service/broker/tariff"
|
||||
"gitea.pena/PenaSide/customer/internal/service/callback"
|
||||
"gitea.pena/PenaSide/customer/internal/service/history"
|
||||
"gitea.pena/PenaSide/customer/internal/service/wallet"
|
||||
"go.uber.org/zap"
|
||||
tb "gopkg.in/tucnak/telebot.v2"
|
||||
)
|
||||
|
||||
type ServicesDeps struct {
|
||||
@ -15,7 +14,6 @@ type ServicesDeps struct {
|
||||
Repositories *Repositories
|
||||
Clients *Clients
|
||||
Brokers *Brokers
|
||||
ConfigurationGRPC *models.ConfigurationGRPC
|
||||
Notifier *tb.Bot
|
||||
NotificationChannel int64
|
||||
AdminURL string
|
||||
|
@ -3,12 +3,11 @@ package initialize_test
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.pena/PenaSide/customer/internal/initialize"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/twmb/franz-go/pkg/kgo"
|
||||
"go.mongodb.org/mongo-driver/mongo/integration/mtest"
|
||||
"go.uber.org/zap"
|
||||
"gitea.pena/PenaSide/customer/internal/initialize"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
)
|
||||
|
||||
func TestNewServices(t *testing.T) {
|
||||
@ -20,13 +19,13 @@ func TestNewServices(t *testing.T) {
|
||||
assert.NotPanics(t, func() {
|
||||
clients := initialize.NewClients(initialize.ClientsDeps{
|
||||
Logger: logger,
|
||||
AuthURL: &models.AuthMicroserviceURL{},
|
||||
HubadminURL: &models.HubadminMicroserviceURL{},
|
||||
CurrencyURL: &models.CurrencyMicroserviceURL{},
|
||||
DiscountServiceConfiguration: &models.DiscountMicroserviceConfiguration{HostGRPC: "host"},
|
||||
PaymentServiceConfiguration: &models.PaymentMicroserviceConfiguration{HostGRPC: "host"},
|
||||
VerificationURL: &models.VerificationMicroserviceURL{Verification: ""},
|
||||
TemplategenURL: &models.TemplategenMicroserviceURL{Templategen: ""},
|
||||
AuthURL: "",
|
||||
HubadminURL: "",
|
||||
CurrencyURL: "",
|
||||
DiscountServiceURL: "host",
|
||||
PaymentServiceURL: "host",
|
||||
VerificationURL: "",
|
||||
TemplategenURL: "",
|
||||
})
|
||||
|
||||
brokers := initialize.NewBrokers(initialize.BrokersDeps{
|
||||
@ -44,7 +43,6 @@ func TestNewServices(t *testing.T) {
|
||||
Clients: clients,
|
||||
Repositories: repositories,
|
||||
Brokers: brokers,
|
||||
ConfigurationGRPC: &models.ConfigurationGRPC{Domen: "http://test:8080"},
|
||||
})
|
||||
|
||||
assert.NotNil(t, services)
|
||||
|
@ -6,34 +6,34 @@ import (
|
||||
"log"
|
||||
"net/url"
|
||||
|
||||
"go.uber.org/zap"
|
||||
"gitea.pena/PenaSide/customer/internal/errors"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"gitea.pena/PenaSide/customer/internal/utils"
|
||||
"gitea.pena/PenaSide/customer/pkg/client"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type AuthClientDeps struct {
|
||||
Logger *zap.Logger
|
||||
URLs *models.AuthMicroserviceURL
|
||||
URL string
|
||||
}
|
||||
|
||||
type AuthClient struct {
|
||||
urls *models.AuthMicroserviceURL
|
||||
url string
|
||||
}
|
||||
|
||||
func NewAuthClient(deps AuthClientDeps) *AuthClient {
|
||||
if deps.URLs == nil {
|
||||
log.Panicln("urls is nil on <NewAuthClient>")
|
||||
if deps.URL == "" {
|
||||
log.Panicln("url is nil on <NewAuthClient>")
|
||||
}
|
||||
|
||||
return &AuthClient{
|
||||
urls: deps.URLs,
|
||||
url: deps.URL,
|
||||
}
|
||||
}
|
||||
|
||||
func (receiver *AuthClient) GetUser(ctx context.Context, userID string) (*models.User, errors.Error) {
|
||||
userURL, err := url.JoinPath(receiver.urls.User, userID)
|
||||
userURL, err := url.JoinPath(fmt.Sprintf("%s/user", receiver.url), userID)
|
||||
if err != nil {
|
||||
return nil, errors.New(
|
||||
fmt.Errorf("failed to join path on <GetUser> of <AuthClient>: %w", err),
|
||||
|
@ -6,21 +6,21 @@ import (
|
||||
"log"
|
||||
"strconv"
|
||||
|
||||
"go.uber.org/zap"
|
||||
"gitea.pena/PenaSide/customer/internal/errors"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"gitea.pena/PenaSide/customer/internal/utils"
|
||||
"gitea.pena/PenaSide/customer/pkg/client"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type CurrencyClientDeps struct {
|
||||
Logger *zap.Logger
|
||||
URLs *models.CurrencyMicroserviceURL
|
||||
URL string
|
||||
}
|
||||
|
||||
type CurrencyClient struct {
|
||||
logger *zap.Logger
|
||||
urls *models.CurrencyMicroserviceURL
|
||||
url string
|
||||
}
|
||||
|
||||
func NewCurrencyClient(deps CurrencyClientDeps) *CurrencyClient {
|
||||
@ -28,19 +28,19 @@ func NewCurrencyClient(deps CurrencyClientDeps) *CurrencyClient {
|
||||
log.Panicln("logger is nil on <NewCurrencyClient>")
|
||||
}
|
||||
|
||||
if deps.URLs == nil {
|
||||
if deps.URL == "" {
|
||||
log.Panicln("urls is nil on <NewCurrencyClient>")
|
||||
}
|
||||
|
||||
return &CurrencyClient{
|
||||
logger: deps.Logger,
|
||||
urls: deps.URLs,
|
||||
url: deps.URL,
|
||||
}
|
||||
}
|
||||
|
||||
func (receiver *CurrencyClient) Translate(ctx context.Context, request *models.TranslateCurrency) (int64, errors.Error) {
|
||||
response, err := client.Get[models.CurrencyClientResponse[int64], models.CurrencyClientResponse[string]](ctx, &client.RequestSettings{
|
||||
URL: receiver.urls.Translate,
|
||||
URL: fmt.Sprintf("%s/change", receiver.url),
|
||||
Headers: map[string]string{"Content-Type": "application/json"},
|
||||
QueryParams: map[string]string{
|
||||
"currencyFrom": request.From,
|
||||
|
@ -6,21 +6,21 @@ import (
|
||||
"log"
|
||||
"net/url"
|
||||
|
||||
"go.uber.org/zap"
|
||||
"gitea.pena/PenaSide/customer/internal/errors"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"gitea.pena/PenaSide/customer/internal/utils"
|
||||
"gitea.pena/PenaSide/customer/pkg/client"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type HubadminClientDeps struct {
|
||||
Logger *zap.Logger
|
||||
URLs *models.HubadminMicroserviceURL
|
||||
URL string
|
||||
}
|
||||
|
||||
type HubadminClient struct {
|
||||
logger *zap.Logger
|
||||
urls *models.HubadminMicroserviceURL
|
||||
url string
|
||||
}
|
||||
|
||||
func NewHubadminClient(deps HubadminClientDeps) *HubadminClient {
|
||||
@ -28,18 +28,18 @@ func NewHubadminClient(deps HubadminClientDeps) *HubadminClient {
|
||||
log.Panicln("logger is nil on <NewHubadminClient>")
|
||||
}
|
||||
|
||||
if deps.URLs == nil {
|
||||
if deps.URL == "" {
|
||||
log.Panicln("urls is nil on <NewHubadminClient>")
|
||||
}
|
||||
|
||||
return &HubadminClient{
|
||||
logger: deps.Logger,
|
||||
urls: deps.URLs,
|
||||
url: deps.URL,
|
||||
}
|
||||
}
|
||||
|
||||
func (receiver *HubadminClient) GetTariff(ctx context.Context, accessToken string, tariffID string) (*models.Tariff, errors.Error) {
|
||||
tariffURL, err := url.JoinPath(receiver.urls.Tariff, tariffID)
|
||||
tariffURL, err := url.JoinPath(fmt.Sprintf("%s/tariff", receiver.url), tariffID)
|
||||
if err != nil {
|
||||
return nil, errors.New(fmt.Errorf("failed to join path on <GetTariff> of <HubadminClient>: %w", err), errors.ErrInternalError)
|
||||
}
|
||||
|
@ -3,33 +3,35 @@ package client
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"gitea.pena/PenaSide/customer/internal/errors"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"go.uber.org/zap"
|
||||
"mime/multipart"
|
||||
"gitea.pena/PenaSide/customer/internal/errors"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
)
|
||||
|
||||
type MailClientDeps struct {
|
||||
ApiUrl string
|
||||
Sender string
|
||||
Auth *models.PlainAuth
|
||||
ApiKey string
|
||||
FiberClient *fiber.Client
|
||||
Logger *zap.Logger
|
||||
MailAddress string
|
||||
}
|
||||
|
||||
type MailClient struct {
|
||||
deps MailClientDeps
|
||||
apiUrl string
|
||||
sender string
|
||||
auth *models.PlainAuth
|
||||
apiKey string
|
||||
fiberClient *fiber.Client
|
||||
logger *zap.Logger
|
||||
mailAddress string
|
||||
}
|
||||
|
||||
func NewMailClient(deps MailClientDeps) *MailClient {
|
||||
func NewMailClient(deps models.MailClientCfg, logger *zap.Logger) *MailClient {
|
||||
if deps.FiberClient == nil {
|
||||
deps.FiberClient = fiber.AcquireClient()
|
||||
}
|
||||
return &MailClient{
|
||||
deps: deps,
|
||||
apiUrl: deps.ApiUrl,
|
||||
sender: deps.Sender,
|
||||
auth: deps.Auth,
|
||||
apiKey: deps.ApiKey,
|
||||
fiberClient: deps.FiberClient,
|
||||
logger: logger,
|
||||
mailAddress: deps.MailAddress,
|
||||
}
|
||||
}
|
||||
|
||||
@ -47,36 +49,36 @@ func (receiver *MailClient) SendMessage(userEmail string, verification *models.V
|
||||
defer writer.Close()
|
||||
|
||||
fields := map[string]string{
|
||||
"from": receiver.deps.Sender,
|
||||
"to": receiver.deps.MailAddress,
|
||||
"from": receiver.sender,
|
||||
"to": receiver.mailAddress,
|
||||
"subject": "Новая заявка на оплату через Р/С",
|
||||
"html": body,
|
||||
}
|
||||
|
||||
for key, value := range fields {
|
||||
if err := writer.WriteField(key, value); err != nil {
|
||||
return handleError(receiver.deps.Logger, "Error writing form field", err)
|
||||
return handleError(receiver.logger, "Error writing form field", err)
|
||||
}
|
||||
}
|
||||
|
||||
if err := writer.Close(); err != nil {
|
||||
return handleError(receiver.deps.Logger, "Error closing form writer", err)
|
||||
return handleError(receiver.logger, "Error closing form writer", err)
|
||||
}
|
||||
|
||||
fmt.Println("SEEEEEND", receiver.deps.ApiUrl)
|
||||
req := receiver.deps.FiberClient.Post(receiver.deps.ApiUrl).Body(form.Bytes()).ContentType(writer.FormDataContentType())
|
||||
if receiver.deps.ApiKey != "" {
|
||||
req.Set("Authorization", receiver.deps.ApiKey)
|
||||
fmt.Println("SEEEEEND", receiver.apiUrl)
|
||||
req := receiver.fiberClient.Post(receiver.apiUrl).Body(form.Bytes()).ContentType(writer.FormDataContentType())
|
||||
if receiver.apiKey != "" {
|
||||
req.Set("Authorization", receiver.apiKey)
|
||||
}
|
||||
|
||||
statusCode, _, errs := req.Bytes()
|
||||
if errs != nil {
|
||||
return handleError(receiver.deps.Logger, "Error sending request", errs[0])
|
||||
return handleError(receiver.logger, "Error sending request", errs[0])
|
||||
}
|
||||
|
||||
if statusCode != fiber.StatusOK {
|
||||
err := fmt.Errorf("the SMTP service returned an error: %d", statusCode)
|
||||
return handleError(receiver.deps.Logger, "Error sending email", err)
|
||||
return handleError(receiver.logger, "Error sending email", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
@ -4,23 +4,24 @@ import (
|
||||
"bytes"
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"log"
|
||||
"mime/multipart"
|
||||
"net/http"
|
||||
|
||||
"go.uber.org/zap"
|
||||
"gitea.pena/PenaSide/customer/internal/errors"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type TemplateClientDeps struct {
|
||||
Logger *zap.Logger
|
||||
URLs *models.TemplategenMicroserviceURL
|
||||
URL string
|
||||
}
|
||||
|
||||
type TemplateClient struct {
|
||||
logger *zap.Logger
|
||||
urls *models.TemplategenMicroserviceURL
|
||||
url string
|
||||
}
|
||||
|
||||
func NewTemplateClient(deps TemplateClientDeps) *TemplateClient {
|
||||
@ -28,18 +29,18 @@ func NewTemplateClient(deps TemplateClientDeps) *TemplateClient {
|
||||
log.Panicln("logger is nil on <NewTemplateClient>")
|
||||
}
|
||||
|
||||
if deps.URLs == nil {
|
||||
if deps.URL == "" {
|
||||
log.Panicln("urls is nil on <NewTemplateClient>")
|
||||
}
|
||||
|
||||
return &TemplateClient{
|
||||
logger: deps.Logger,
|
||||
urls: deps.URLs,
|
||||
url: deps.URL,
|
||||
}
|
||||
}
|
||||
|
||||
func (receiver *TemplateClient) SendData(ctx context.Context, data models.RespGeneratorService, fileContents []byte, email string) errors.Error {
|
||||
tmplURL := receiver.urls.Templategen
|
||||
tmplURL := fmt.Sprintf("%s/generator/service", receiver.url)
|
||||
|
||||
body := &bytes.Buffer{}
|
||||
writer := multipart.NewWriter(body)
|
||||
|
@ -6,20 +6,20 @@ import (
|
||||
"log"
|
||||
"net/url"
|
||||
|
||||
"go.uber.org/zap"
|
||||
"gitea.pena/PenaSide/customer/internal/errors"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"gitea.pena/PenaSide/customer/pkg/client"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type VerificationClientDeps struct {
|
||||
Logger *zap.Logger
|
||||
URLs *models.VerificationMicroserviceURL
|
||||
URL string
|
||||
}
|
||||
|
||||
type VerificationClient struct {
|
||||
logger *zap.Logger
|
||||
urls *models.VerificationMicroserviceURL
|
||||
url string
|
||||
}
|
||||
|
||||
func NewVerificationClient(deps VerificationClientDeps) *VerificationClient {
|
||||
@ -27,18 +27,18 @@ func NewVerificationClient(deps VerificationClientDeps) *VerificationClient {
|
||||
log.Panicln("logger is nil on <NewVerificationClient>")
|
||||
}
|
||||
|
||||
if deps.URLs == nil {
|
||||
if deps.URL == "" {
|
||||
log.Panicln("urls is nil on <NewVerificationClient>")
|
||||
}
|
||||
|
||||
return &VerificationClient{
|
||||
logger: deps.Logger,
|
||||
urls: deps.URLs,
|
||||
url: deps.URL,
|
||||
}
|
||||
}
|
||||
|
||||
func (receiver *VerificationClient) GetVerification(ctx context.Context, token, userID string) (*models.Verification, errors.Error) {
|
||||
verifURL, err := url.JoinPath(receiver.urls.Verification, userID)
|
||||
verifURL, err := url.JoinPath(fmt.Sprintf("%s/verification", receiver.url), userID)
|
||||
if err != nil {
|
||||
return nil, errors.New(
|
||||
fmt.Errorf("failed to join path on <GetVerification> of <VerificationClient>: %w", err),
|
||||
|
@ -2,10 +2,7 @@ package wallet_client
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"go.uber.org/zap"
|
||||
"fmt"
|
||||
"penahub.gitlab.yandexcloud.net/backend/penahub_common/log_mw"
|
||||
"gitea.pena/PenaSide/customer/internal/errors"
|
||||
"gitea.pena/PenaSide/customer/internal/interface/client"
|
||||
"gitea.pena/PenaSide/customer/internal/interface/controller/http"
|
||||
@ -14,13 +11,16 @@ import (
|
||||
"gitea.pena/PenaSide/customer/internal/proto/treasurer"
|
||||
"gitea.pena/PenaSide/customer/internal/utils"
|
||||
"gitea.pena/PenaSide/customer/pkg/validate"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"go.uber.org/zap"
|
||||
"penahub.gitlab.yandexcloud.net/backend/penahub_common/log_mw"
|
||||
)
|
||||
|
||||
type Deps struct {
|
||||
MiddleWare *http.MiddleWare
|
||||
AuthClient *client.AuthClient
|
||||
PaymentClient *client.PaymentClient
|
||||
GRPC *models.ConfigurationGRPC
|
||||
GRPCDomain string
|
||||
AccountRepo *repository.AccountRepository
|
||||
CurrencyClient *client.CurrencyClient
|
||||
VerifyClient *client.VerificationClient
|
||||
@ -33,7 +33,7 @@ type WalletController struct {
|
||||
middleWare *http.MiddleWare
|
||||
authClient *client.AuthClient
|
||||
paymentClient *client.PaymentClient
|
||||
grpc *models.ConfigurationGRPC
|
||||
grpcDomain string
|
||||
accountRepo *repository.AccountRepository
|
||||
currencyClient *client.CurrencyClient
|
||||
verifyClient *client.VerificationClient
|
||||
@ -47,7 +47,7 @@ func NewWalletController(deps Deps) *WalletController {
|
||||
middleWare: deps.MiddleWare,
|
||||
authClient: deps.AuthClient,
|
||||
paymentClient: deps.PaymentClient,
|
||||
grpc: deps.GRPC,
|
||||
grpcDomain: deps.GRPCDomain,
|
||||
accountRepo: deps.AccountRepo,
|
||||
currencyClient: deps.CurrencyClient,
|
||||
verifyClient: deps.VerifyClient,
|
||||
@ -148,7 +148,7 @@ func (receiver *WalletController) GetPaymentLinkBankCard(ctx context.Context, re
|
||||
Amount: request.Body.Amount,
|
||||
UserID: request.UserID,
|
||||
ClientIP: request.ClientIP,
|
||||
CallbackHostGRPC: []string{receiver.grpc.Domen},
|
||||
CallbackHostGRPC: []string{receiver.grpcDomain},
|
||||
ReturnURL: request.Body.ReturnURL,
|
||||
Customer: &treasurer.Customer{
|
||||
FullName: account.Name.Orgname + ". " + account.Name.FirstName + " " + account.Name.Secondname,
|
||||
@ -178,7 +178,7 @@ func (receiver *WalletController) GetPaymentLinkYooMoney(ctx context.Context, re
|
||||
Amount: request.Body.Amount,
|
||||
UserID: request.UserID,
|
||||
ClientIP: request.ClientIP,
|
||||
CallbackHostGRPC: []string{receiver.grpc.Domen},
|
||||
CallbackHostGRPC: []string{receiver.grpcDomain},
|
||||
ReturnURL: request.Body.ReturnURL,
|
||||
Customer: &treasurer.Customer{
|
||||
FullName: account.Name.Orgname + ", " + account.Name.FirstName + " " + account.Name.Secondname,
|
||||
@ -208,7 +208,7 @@ func (receiver *WalletController) GetPaymentLinkSberPay(ctx context.Context, req
|
||||
Amount: request.Body.Amount,
|
||||
UserID: request.UserID,
|
||||
ClientIP: request.ClientIP,
|
||||
CallbackHostGRPC: []string{receiver.grpc.Domen},
|
||||
CallbackHostGRPC: []string{receiver.grpcDomain},
|
||||
ReturnURL: request.Body.ReturnURL,
|
||||
Customer: &treasurer.Customer{
|
||||
FullName: account.Name.Orgname + ", " + account.Name.FirstName + " " + account.Name.Secondname,
|
||||
@ -238,7 +238,7 @@ func (receiver *WalletController) GetPaymentLinkTinkoff(ctx context.Context, req
|
||||
Amount: request.Body.Amount,
|
||||
UserID: request.UserID,
|
||||
ClientIP: request.ClientIP,
|
||||
CallbackHostGRPC: []string{receiver.grpc.Domen},
|
||||
CallbackHostGRPC: []string{receiver.grpcDomain},
|
||||
ReturnURL: request.Body.ReturnURL,
|
||||
Customer: &treasurer.Customer{
|
||||
FullName: account.Name.Orgname + ", " + account.Name.FirstName + " " + account.Name.Secondname,
|
||||
@ -268,7 +268,7 @@ func (receiver *WalletController) GetPaymentLinkSBP(ctx context.Context, request
|
||||
Amount: request.Body.Amount,
|
||||
UserID: request.UserID,
|
||||
ClientIP: request.ClientIP,
|
||||
CallbackHostGRPC: []string{receiver.grpc.Domen},
|
||||
CallbackHostGRPC: []string{receiver.grpcDomain},
|
||||
ReturnURL: request.Body.ReturnURL,
|
||||
Customer: &treasurer.Customer{
|
||||
FullName: account.Name.Orgname + ", " + account.Name.FirstName + " " + account.Name.Secondname,
|
||||
@ -298,7 +298,7 @@ func (receiver *WalletController) GetPaymentLinkB2B(ctx context.Context, request
|
||||
Amount: request.Body.Amount,
|
||||
UserID: request.UserID,
|
||||
ClientIP: request.ClientIP,
|
||||
CallbackHostGRPC: []string{receiver.grpc.Domen},
|
||||
CallbackHostGRPC: []string{receiver.grpcDomain},
|
||||
ReturnURL: request.Body.ReturnURL,
|
||||
Customer: &treasurer.Customer{
|
||||
FullName: account.Name.Orgname + ", " + account.Name.FirstName + " " + account.Name.Secondname,
|
||||
|
@ -1,61 +1,56 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"gitea.pena/PenaSide/common/encrypt"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
"penahub.gitlab.yandexcloud.net/backend/penahub_common/mongo"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
HTTP ConfigurationHTTP
|
||||
GRPC ConfigurationGRPC
|
||||
Service ServiceConfiguration
|
||||
Database mongo.Configuration
|
||||
}
|
||||
|
||||
type ConfigurationHTTP struct {
|
||||
ClientHost string `env:"CLIENT_HTTP_HOST,default=localhost"`
|
||||
ClientPort string `env:"CLIENT_HTTP_PORT,default=8080"`
|
||||
AdminHost string `env:"ADMIN_HTTP_HOST,default=localhost"`
|
||||
AdminPort string `env:"ADMIN_HTTP_PORT,default=8081"`
|
||||
}
|
||||
|
||||
type ConfigurationGRPC struct {
|
||||
Host string `env:"GRPC_HOST,default=localhost"`
|
||||
Port string `env:"GRPC_PORT,default=8081"`
|
||||
Domen string `env:"GRPC_DOMEN,default=https://domen.ru"`
|
||||
}
|
||||
|
||||
type ServiceConfiguration struct {
|
||||
AuthMicroservice AuthMicroserviceConfiguration
|
||||
HubadminMicroservice HubadminMicroserviceConfiguration
|
||||
CurrencyMicroservice CurrencyMicroserviceConfiguration
|
||||
DiscountMicroservice DiscountMicroserviceConfiguration
|
||||
CodewordMicroservice CodewordMicroserviceConfiguration
|
||||
PaymentMicroservice PaymentMicroserviceConfiguration
|
||||
VerificationMicroservice VerificationMicroserviceConfiguration
|
||||
TemplategenMicroserviceURL TemplategenMicroserviceConfiguration
|
||||
JWT JWTConfiguration
|
||||
Kafka KafkaConfiguration
|
||||
Mail MailConfiguration
|
||||
ClientHttpHost string `env:"CLIENT_HTTP_HOST,default=localhost"`
|
||||
ClientHttpPort string `env:"CLIENT_HTTP_PORT,default=8080"`
|
||||
AdminHttpHost string `env:"ADMIN_HTTP_HOST,default=localhost"`
|
||||
AdminHttpPort string `env:"ADMIN_HTTP_PORT,default=8081"`
|
||||
GrpcHost string `env:"GRPC_HOST,default=localhost"`
|
||||
GrpcPort string `env:"GRPC_PORT,default=8081"`
|
||||
GrpcDomen string `env:"GRPC_DOMEN,default=https://domen.ru"`
|
||||
AuthMicroservice string `env:"AUTH_MICROSERVICE_URL,required"` // http://10.8.0.6:59300/user
|
||||
HubadminMicroservice string `env:"HUBADMIN_MICROSERVICE_URL,required"` // http://10.8.0.6:59303/tariff
|
||||
CurrencyMicroservice string `env:"CURRENCY_MICROSERVICE_URL,required"` // http://10.8.0.6:3131/change
|
||||
DiscountMicroservice string `env:"DISCOUNT_MICROSERVICE_GRPC_HOST,required"`
|
||||
CodewordMicroservice string `env:"CODEWORD_MICROSERVICE_GRPC_HOST,required"`
|
||||
PaymentMicroservice string `env:"PAYMENT_MICROSERVICE_GRPC_HOST,required"`
|
||||
VerificationMicroservice string `env:"VERIFICATION_MICROSERVICE_URL,required"` // http://10.8.0.6:7036/verification
|
||||
TemplategenMicroserviceURL string `env:"TEMPLATEGEN_MICROSERVICE_URL,required"` // http://10.6.0.17/generator/service
|
||||
KafkaTopic string `json:"topic" env:"KAFKA_TOPIC_TARIFF,required"`
|
||||
KafkaBrokers []string `json:"brokers" env:"KAFKA_BROKERS,required"`
|
||||
TrashLogHost string `env:"TRASH_LOG_HOST"`
|
||||
PubKey string `env:"PUBLIC_KEY"`
|
||||
PrivKey string `env:"PRIVATE_KEY"`
|
||||
ModuleLogger string `env:"MODULE_LOGGER"`
|
||||
NotificationBotToken string `env:"NOTIFICATION_BOT_TOKEN"`
|
||||
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
|
||||
}
|
||||
|
||||
type KafkaConfiguration struct {
|
||||
Tariff TariffKafkaConfiguration `json:"tariff"`
|
||||
Brokers []string `json:"brokers" env:"KAFKA_BROKERS,required"`
|
||||
type MailClientCfg struct {
|
||||
ApiUrl string `env:"API_URL,required"`
|
||||
Sender string `env:"MAIL_SENDER,required"`
|
||||
Auth *PlainAuth
|
||||
ApiKey string `env:"MAIL_API_KEY,required"`
|
||||
FiberClient *fiber.Client
|
||||
MailAddress string `env:"MAIL_ADDRESS,required"`
|
||||
}
|
||||
|
||||
type TariffKafkaConfiguration struct {
|
||||
Topic string `json:"topic" env:"KAFKA_TOPIC_TARIFF,required"`
|
||||
type PlainAuth struct {
|
||||
Identity string `env:"MAIL_AUTH_IDENTITY"`
|
||||
Username string `env:"MAIL_AUTH_USERNAME,required"`
|
||||
Password string `env:"MAIL_AUTH_PASSWORD,required"`
|
||||
}
|
||||
|
||||
type JWTConfiguration struct {
|
||||
@ -67,70 +62,4 @@ type JWTConfiguration struct {
|
||||
ExpiresIn time.Duration
|
||||
}
|
||||
|
||||
type AuthMicroserviceConfiguration struct {
|
||||
URL AuthMicroserviceURL
|
||||
}
|
||||
|
||||
type HubadminMicroserviceConfiguration struct {
|
||||
URL HubadminMicroserviceURL
|
||||
}
|
||||
|
||||
type CurrencyMicroserviceConfiguration struct {
|
||||
URL CurrencyMicroserviceURL
|
||||
}
|
||||
|
||||
type VerificationMicroserviceConfiguration struct {
|
||||
URL VerificationMicroserviceURL
|
||||
}
|
||||
|
||||
type TemplategenMicroserviceConfiguration struct {
|
||||
URL TemplategenMicroserviceURL
|
||||
}
|
||||
|
||||
type CodewordMicroserviceConfiguration struct {
|
||||
HostGRPC string `env:"CODEWORD_MICROSERVICE_GRPC_HOST,required"`
|
||||
}
|
||||
|
||||
type PaymentMicroserviceConfiguration struct {
|
||||
HostGRPC string `env:"PAYMENT_MICROSERVICE_GRPC_HOST,required"`
|
||||
}
|
||||
|
||||
type DiscountMicroserviceConfiguration struct {
|
||||
HostGRPC string `env:"DISCOUNT_MICROSERVICE_GRPC_HOST,required"`
|
||||
}
|
||||
|
||||
type AuthMicroserviceURL struct {
|
||||
User string `env:"AUTH_MICROSERVICE_USER_URL,required"`
|
||||
}
|
||||
|
||||
type HubadminMicroserviceURL struct {
|
||||
Tariff string `env:"HUBADMIN_MICROSERVICE_TARIFF_URL,required"`
|
||||
}
|
||||
|
||||
type CurrencyMicroserviceURL struct {
|
||||
Translate string `env:"CURRENCY_MICROSERVICE_TRANSLATE_URL,required"`
|
||||
}
|
||||
|
||||
type VerificationMicroserviceURL struct {
|
||||
Verification string `env:"VERIFICATION_MICROSERVICE_USER_URL,required"`
|
||||
}
|
||||
|
||||
type TemplategenMicroserviceURL struct {
|
||||
Templategen string `env:"TEMPLATEGEN_MICROSERVICE_URL,required"`
|
||||
}
|
||||
|
||||
type MailConfiguration struct {
|
||||
ApiUrl string `env:"API_URL,required"`
|
||||
Sender string `env:"MAIL_SENDER,required"`
|
||||
Auth PlainAuth
|
||||
ApiKey string `env:"MAIL_API_KEY,required"`
|
||||
MailAddress string `env:"MAIL_ADDRESS,required"`
|
||||
}
|
||||
|
||||
type PlainAuth struct {
|
||||
Identity string `env:"MAIL_AUTH_IDENTITY"`
|
||||
Username string `env:"MAIL_AUTH_USERNAME,required"`
|
||||
Password string `env:"MAIL_AUTH_PASSWORD,required"`
|
||||
}
|
||||
|
||||
const mongoVersion uint32 = 1
|
||||
|
@ -6,16 +6,15 @@ import (
|
||||
"net"
|
||||
"time"
|
||||
|
||||
"gitea.pena/PenaSide/customer/internal/errors"
|
||||
"gitea.pena/PenaSide/customer/internal/initialize"
|
||||
"gitea.pena/PenaSide/customer/internal/proto/customer"
|
||||
"gitea.pena/PenaSide/customer/internal/proto/payment_callback"
|
||||
grpc_middleware "github.com/grpc-ecosystem/go-grpc-middleware"
|
||||
grpc_zap "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap"
|
||||
grpc_recovery "github.com/grpc-ecosystem/go-grpc-middleware/recovery"
|
||||
"go.uber.org/zap"
|
||||
"google.golang.org/grpc"
|
||||
"gitea.pena/PenaSide/customer/internal/errors"
|
||||
"gitea.pena/PenaSide/customer/internal/initialize"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"gitea.pena/PenaSide/customer/internal/proto/customer"
|
||||
"gitea.pena/PenaSide/customer/internal/proto/payment_callback"
|
||||
)
|
||||
|
||||
type DepsGRPC struct {
|
||||
@ -48,8 +47,8 @@ func NewGRPC(deps DepsGRPC) (*GRPC, errors.Error) {
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (receiver *GRPC) Run(config *models.ConfigurationGRPC) {
|
||||
connectionString := fmt.Sprintf("%s:%s", config.Host, config.Port)
|
||||
func (receiver *GRPC) Run(host, port string) {
|
||||
connectionString := fmt.Sprintf("%s:%s", host, port)
|
||||
|
||||
receiver.logger.Info("Starting GRPC Server", zap.String("host", connectionString))
|
||||
|
||||
|
@ -4,10 +4,10 @@ import (
|
||||
"context"
|
||||
"log"
|
||||
|
||||
"go.uber.org/zap"
|
||||
"gitea.pena/PenaSide/customer/internal/errors"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"gitea.pena/PenaSide/customer/internal/proto/treasurer"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
type paymentClient interface {
|
||||
@ -24,14 +24,14 @@ type authClient interface {
|
||||
|
||||
type Deps struct {
|
||||
Logger *zap.Logger
|
||||
ConfigurationGRPC *models.ConfigurationGRPC
|
||||
GRPCDomain string
|
||||
PaymentClient paymentClient
|
||||
AuthClient authClient
|
||||
}
|
||||
|
||||
type Service struct {
|
||||
logger *zap.Logger
|
||||
configurationGRPC *models.ConfigurationGRPC
|
||||
grpcDomain string
|
||||
paymentClient paymentClient
|
||||
authClient authClient
|
||||
}
|
||||
@ -41,7 +41,7 @@ func New(deps Deps) *Service {
|
||||
log.Panicln("logger is nil on <New (payment service)>")
|
||||
}
|
||||
|
||||
if deps.ConfigurationGRPC == nil {
|
||||
if deps.GRPCDomain == "" {
|
||||
log.Panicln("ConfigurationGRPC is nil on <New (payment service)>")
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ func New(deps Deps) *Service {
|
||||
logger: deps.Logger,
|
||||
paymentClient: deps.PaymentClient,
|
||||
authClient: deps.AuthClient,
|
||||
configurationGRPC: deps.ConfigurationGRPC,
|
||||
grpcDomain: deps.GRPCDomain,
|
||||
}
|
||||
}
|
||||
|
||||
@ -92,7 +92,7 @@ func (receiver *Service) GetPaymentLinkBankCard(ctx context.Context, request *mo
|
||||
Amount: request.Body.Amount,
|
||||
UserID: request.UserID,
|
||||
ClientIP: request.ClientIP,
|
||||
CallbackHostGRPC: []string{receiver.configurationGRPC.Domen},
|
||||
CallbackHostGRPC: []string{receiver.grpcDomain},
|
||||
ReturnURL: request.Body.ReturnURL,
|
||||
},
|
||||
})
|
||||
@ -111,7 +111,7 @@ func (receiver *Service) GetPaymentLinkYooMoney(ctx context.Context, request *mo
|
||||
Amount: request.Body.Amount,
|
||||
UserID: request.UserID,
|
||||
ClientIP: request.ClientIP,
|
||||
CallbackHostGRPC: []string{receiver.configurationGRPC.Domen},
|
||||
CallbackHostGRPC: []string{receiver.grpcDomain},
|
||||
ReturnURL: request.Body.ReturnURL,
|
||||
},
|
||||
})
|
||||
@ -130,7 +130,7 @@ func (receiver *Service) GetPaymentLinkSberPay(ctx context.Context, request *mod
|
||||
Amount: request.Body.Amount,
|
||||
UserID: request.UserID,
|
||||
ClientIP: request.ClientIP,
|
||||
CallbackHostGRPC: []string{receiver.configurationGRPC.Domen},
|
||||
CallbackHostGRPC: []string{receiver.grpcDomain},
|
||||
ReturnURL: request.Body.ReturnURL,
|
||||
},
|
||||
})
|
||||
@ -149,7 +149,7 @@ func (receiver *Service) GetPaymentLinkTinkoff(ctx context.Context, request *mod
|
||||
Amount: request.Body.Amount,
|
||||
UserID: request.UserID,
|
||||
ClientIP: request.ClientIP,
|
||||
CallbackHostGRPC: []string{receiver.configurationGRPC.Domen},
|
||||
CallbackHostGRPC: []string{receiver.grpcDomain},
|
||||
ReturnURL: request.Body.ReturnURL,
|
||||
},
|
||||
})
|
||||
|
@ -3,10 +3,10 @@ package utils
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"time"
|
||||
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
)
|
||||
|
||||
type JWT struct {
|
||||
|
@ -1,20 +1,13 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"gitea.pena/PenaSide/customer/pkg/validate"
|
||||
)
|
||||
|
||||
func ValidateConfigurationURLs(config *models.ServiceConfiguration) error {
|
||||
return validateAuthMicroserviceURLs(&config.AuthMicroservice.URL)
|
||||
}
|
||||
|
||||
func validateAuthMicroserviceURLs(urls *models.AuthMicroserviceURL) error {
|
||||
if !validate.URL(urls.User) {
|
||||
return fmt.Errorf("invalid auth user url: %s", urls.User)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
//func ValidateConfigurationURLs(config *models.ServiceConfiguration) error {
|
||||
// return validateAuthMicroserviceURLs(&config.AuthMicroservice.URL)
|
||||
//}
|
||||
//
|
||||
//func validateAuthMicroserviceURLs(urls *models.AuthMicroserviceURL) error {
|
||||
// if !validate.URL(urls.User) {
|
||||
// return fmt.Errorf("invalid auth user url: %s", urls.User)
|
||||
// }
|
||||
//
|
||||
// return nil
|
||||
//}
|
||||
|
@ -49,9 +49,7 @@ func main() {
|
||||
|
||||
authClient := client.NewAuthClient(client.AuthClientDeps{
|
||||
Logger: logger,
|
||||
URLs: &models.AuthMicroserviceURL{
|
||||
User: AuthServiceUrl,
|
||||
},
|
||||
URL: AuthServiceUrl,
|
||||
})
|
||||
|
||||
mongoClient, err := connectToMongoDB(ctx, MongoURL)
|
||||
|
@ -1,11 +1,11 @@
|
||||
package integration
|
||||
|
||||
import (
|
||||
"gitea.pena/PenaSide/customer/internal/interface/client"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"go.uber.org/zap"
|
||||
"gitea.pena/PenaSide/customer/internal/interface/client"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"testing"
|
||||
)
|
||||
|
||||
@ -13,15 +13,14 @@ func TestSendMessage(t *testing.T) {
|
||||
sender := "noreply@mailing.pena.digital"
|
||||
apiKey := "P0YsjUB137upXrr1NiJefHmXVKW1hmBWlpev"
|
||||
|
||||
mailClient := client.NewMailClient(client.MailClientDeps{
|
||||
mailClient := client.NewMailClient(models.MailClientCfg{
|
||||
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(),
|
||||
Logger: zap.NewExample(),
|
||||
MailAddress: "pashamullin2001@gmail.com",
|
||||
})
|
||||
}, zap.NewExample())
|
||||
|
||||
userEmail := "test@example.com"
|
||||
verification := &models.Verification{
|
||||
|
@ -31,14 +31,12 @@ func TestTrashLogger(t *testing.T) {
|
||||
ptime := time.Now()
|
||||
|
||||
config := models.Config{
|
||||
Service: models.ServiceConfiguration{
|
||||
TrashLogHost: "localhost:7113",
|
||||
},
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
|
||||
clickHouseLogger, err := zaptrashlog.NewCore(ctx, zap.InfoLevel, config.Service.TrashLogHost, version, commit, ptime.Unix())
|
||||
clickHouseLogger, err := zaptrashlog.NewCore(ctx, zap.InfoLevel, config.TrashLogHost, version, commit, ptime.Unix())
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user