package main import ( "log" "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/internal/config" "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/internal/infrastructure/botService" "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/internal/infrastructure/grpcClient" "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/pkg/logger" "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/pkg/minioDB" "gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/pkg/pgDB" ) func main() { // Load config for app if err := config.Load(); err != nil { log.Fatalln("Error when load config: ", err) } // Initialize the logger logger, err := logger.Init(config.Config.App.Mode) if err != nil { log.Fatalln("Error when init logger: ", err) } // Connect to PostgreSQL pgDB, err := pgDB.Conn( config.Config.Postgre.Host, config.Config.Postgre.User, config.Config.Postgre.Password, config.Config.Postgre.Name, config.Config.Postgre.Port, config.Config.Postgre.SSLmode, ) if err != nil { log.Fatalln("Error when connect to PostgreSQL: ", err) } defer pgDB.DB.Close() // Connect to MinIO minioDB, err := minioDB.New( config.Config.Minio.Endpoint, config.Config.Minio.User, config.Config.Minio.Password, config.Config.Minio.SSLmode, ) if err != nil { log.Fatalln("Error when connect to MinIO: ", err) } // Init support API HTTP client supportAPI, err := grpcClient.Init(config.Config.Integrations.SupportApiUrl, config.Config.Tokens.SupportApiKey) if err != nil { log.Fatalln("Error when connect to Support API by gRPC: ", err) } defer supportAPI.Close() // Start Telegram Bot service if err := botService.Start(config.Config.Bot, logger, pgDB, minioDB, supportAPI); err != nil { log.Fatalln("Error when start the Telegram Bot: ", err) } }