Compare commits

...

2 Commits

Author SHA1 Message Date
0bcc2a51fa - 2025-02-25 13:04:58 +03:00
87ec802812 optimize cfg 2025-02-25 12:55:21 +03:00
4 changed files with 25 additions and 28 deletions

@ -56,25 +56,25 @@ func Run(ctx context.Context, config initialize.Config, logger *zap.Logger) erro
Logger: logger, Logger: logger,
}) })
amoRepo, err := dal.NewAmoDal(ctx, config.PostgresCredentials) amoRepo, err := dal.NewAmoDal(ctx, config.PostgresURL)
if err != nil { if err != nil {
logger.Error("error init amo repo in common repo", zap.Error(err)) logger.Error("error init amo repo in common repo", zap.Error(err))
return err return err
} }
socialAithClient := pena_social_auth.NewClient(pena_social_auth.Deps{ socialAithClient := pena_social_auth.NewClient(pena_social_auth.Deps{
PenaSocialAuthURL: config.PenaSocialAuthURL, PenaSocialAuthURL: config.PenaSocialAuthMicroserviceURL,
Logger: logger, Logger: logger,
ReturnURL: config.ReturnURL, ReturnURL: config.OauthReturnURL,
}) })
rateLimiter := limiter.NewRateLimiter(ctx, 6, 1500*time.Millisecond) rateLimiter := limiter.NewRateLimiter(ctx, 6, 1500*time.Millisecond)
amoClient := amoClient.NewAmoClient(amoClient.AmoDeps{ amoClient := amoClient.NewAmoClient(amoClient.AmoDeps{
Logger: logger, Logger: logger,
RedirectionURL: config.ReturnURL, RedirectionURL: config.OauthReturnURL,
IntegrationID: config.IntegrationID, IntegrationID: config.AmoIntegrationID,
IntegrationSecret: config.IntegrationSecret, IntegrationSecret: config.AmoIntegrationSecret,
RateLimiter: rateLimiter, RateLimiter: rateLimiter,
}) })
@ -94,8 +94,8 @@ func Run(ctx context.Context, config initialize.Config, logger *zap.Logger) erro
cntrlDeps := controllers.Deps{ cntrlDeps := controllers.Deps{
Service: svc, Service: svc,
Logger: logger, Logger: logger,
Verify: tools.NewVerify(config.IntegrationSecret, config.IntegrationID), Verify: tools.NewVerify(config.AmoIntegrationSecret, config.AmoIntegrationID),
RedirectURL: config.RedirectURL, RedirectURL: config.QuizIntegrationsRedirectURL,
} }
controller := controllers.NewController(cntrlDeps) controller := controllers.NewController(cntrlDeps)
@ -146,7 +146,7 @@ func Run(ctx context.Context, config initialize.Config, logger *zap.Logger) erro
}) })
go func() { go func() {
if err := server.Start(config.HTTPHost + ":" + config.HTTPPort); err != nil { if err := server.Start(config.ClientHttpURL); err != nil {
logger.Error("Server startup error", zap.Error(err)) logger.Error("Server startup error", zap.Error(err))
cancel() cancel()
} }

@ -7,26 +7,23 @@ import (
) )
type Config struct { type Config struct {
AppName string `env:"APP_NAME" envDefault:"amocrm"` ClientHttpURL string `env:"CLIENT_HTTP_URL" envDefault:"0.0.0.0:8001"`
HTTPHost string `env:"HTTP_HOST" envDefault:"localhost"` PostgresURL string `env:"POSTGRES_URL" envDefault:"host=localhost port=5432 user=squiz password=Redalert2 dbname=squiz sslmode=disable"`
HTTPPort string `env:"HTTP_PORT" envDefault:"8001"` KafkaBrokers string `env:"KAFKA_BROKERS" envDefault:"localhost:9092"`
PostgresCredentials string `env:"PG_CRED" envDefault:"host=localhost port=35432 user=squiz password=Redalert2 dbname=squiz sslmode=disable"` KafkaTopicQueueAmo string `env:"KAFKA_TOPIC_QUEUE_AMO" envDefault:"test-topic"`
KafkaBrokers string `env:"KAFKA_BROKERS" envDefault:"localhost:9092"` KafkaGroup string `env:"KAFKA_GROUP" envDefault:"amoCRM"`
KafkaTopic string `env:"KAFKA_TOPIC" envDefault:"test-topic"` RedisHost string `env:"REDIS_HOST" envDefault:"localhost:6379"`
KafkaGroup string `env:"KAFKA_GROUP" envDefault:"amoCRM"` RedisPassword string `env:"REDIS_PASSWORD" envDefault:"admin"`
RedisAddr string `env:"REDIS_ADDR" envDefault:"localhost:6379"` RedisDB int `env:"REDIS_DB" envDefault:"2"`
RedisPassword string `env:"REDIS_PASS" envDefault:"admin"`
RedisDB int `env:"REDIS_DB" envDefault:"2"`
// урл в соц аус сервисе для генерации ссылки для авторизации в амо // урл в соц аус сервисе для генерации ссылки для авторизации в амо
PenaSocialAuthURL string `env:"PENA_SOCIAL_AUTH_URL" envDefault:"http://localhost:8000/amocrm/auth"` PenaSocialAuthMicroserviceURL string `env:"PENA_SOCIAL_AUTH_MICROSERVICE_URL" envDefault:"http://localhost:8000/amocrm/auth"`
// урл на который будет возвращен пользователь после авторизации это webhook/create get // урл на который будет возвращен пользователь после авторизации это webhook/create get
ReturnURL string `env:"RETURN_URL" envDefault:"https://squiz.pena.digital/squiz/amocrm/oauth"` OauthReturnURL string `env:"OAUTH_RETURN_URL" envDefault:"https://squiz.pena.digital/squiz/amocrm/oauth"`
// id интеграции // id интеграции
IntegrationID string `env:"INTEGRATION_ID" envDefault:"2dbd6329-9be6-41f2-aa5f-964b9e723e49"` AmoIntegrationID string `env:"AMO_INTEGRATION_ID" envDefault:"2dbd6329-9be6-41f2-aa5f-964b9e723e49"`
// секрет интеграции // секрет интеграции
IntegrationSecret string `env:"INTEGRATION_SECRET" envDefault:"tNK3LwL4ovP0OBK4jKDHJ3646PqRJDOKQYgY6P2t6DCuV8LEzDzszTDY0Fhwmzc8"` AmoIntegrationSecret string `env:"AMO_INTEGRATION_SECRET" envDefault:"tNK3LwL4ovP0OBK4jKDHJ3646PqRJDOKQYgY6P2t6DCuV8LEzDzszTDY0Fhwmzc8"`
//AmoStorageURL string `env:"AMO_STORAGE_URL" envDefault:"https://drive-b.amocrm.ru"` QuizIntegrationsRedirectURL string `env:"QUIZ_INTEGRATIONS_REDIRECT_URL" envDefault:"https://squiz.pena.digital/integrations"`
RedirectURL string `env:"REDIRECT_URL" envDefault:"https://squiz.pena.digital/integrations"`
} }
func LoadConfig() (*Config, error) { func LoadConfig() (*Config, error) {

@ -10,8 +10,8 @@ func KafkaConsumerInit(ctx context.Context, config Config) (*kgo.Client, error)
kafkaClient, err := kgo.NewClient( kafkaClient, err := kgo.NewClient(
kgo.SeedBrokers(config.KafkaBrokers), kgo.SeedBrokers(config.KafkaBrokers),
kgo.ConsumerGroup(config.KafkaGroup), kgo.ConsumerGroup(config.KafkaGroup),
kgo.DefaultProduceTopic(config.KafkaTopic), kgo.DefaultProduceTopic(config.KafkaTopicQueueAmo),
kgo.ConsumeTopics(config.KafkaTopic), kgo.ConsumeTopics(config.KafkaTopicQueueAmo),
kgo.ConsumeResetOffset(kgo.NewOffset().AfterMilli(time.Now().UnixMilli())), kgo.ConsumeResetOffset(kgo.NewOffset().AfterMilli(time.Now().UnixMilli())),
) )
if err != nil { if err != nil {

@ -7,7 +7,7 @@ import (
func Redis(ctx context.Context, cfg Config) (*redis.Client, error) { func Redis(ctx context.Context, cfg Config) (*redis.Client, error) {
rdb := redis.NewClient(&redis.Options{ rdb := redis.NewClient(&redis.Options{
Addr: cfg.RedisAddr, Addr: cfg.RedisHost,
Password: cfg.RedisPassword, Password: cfg.RedisPassword,
DB: cfg.RedisDB, DB: cfg.RedisDB,
}) })