MiniappGoService/cmd/main.go

40 lines
1.4 KiB
Go

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/httpClient"
"gitea.cybertalant.ru/VisionCareerMiniapp/MiniappGoService/pkg/logger"
"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()
// Init support API HTTP client
supportAPI := httpClient.Init(logger, config.Config.Integrations.SupportApiUrl, config.Config.Tokens.SupportApiKey)
defer supportAPI.Close()
// Start Telegram Bot service
if err := botService.Start(config.Config.Bot, logger, pgDB, supportAPI); err != nil {
log.Fatalln("Error when start the Telegram Bot: ", err)
}
}