40 lines
1.4 KiB
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)
|
|
}
|
|
}
|