Files
acc-server-manager/cmd/api/main.go
Fran Jurmanović 60175f8052
Some checks failed
Release and Deploy / build (push) Failing after 2m11s
Release and Deploy / deploy (push) Has been skipped
2fa for polling and security
2025-08-16 16:21:39 +02:00

48 lines
1.1 KiB
Go

package main
import (
"acc-server-manager/local/utl/cache"
"acc-server-manager/local/utl/configs"
"acc-server-manager/local/utl/db"
"acc-server-manager/local/utl/jwt"
"acc-server-manager/local/utl/logging"
"acc-server-manager/local/utl/server"
"fmt"
"os"
"go.uber.org/dig"
_ "acc-server-manager/swagger"
)
func main() {
configs.Init()
// Initialize new logging system
if err := logging.InitializeLogging(); err != nil {
fmt.Printf("Failed to initialize logging system: %v\n", err)
os.Exit(1)
}
// Get legacy logger for backward compatibility
logger := logging.GetLegacyLogger()
if logger != nil {
defer logger.Close()
}
// Set up panic recovery
defer logging.RecoverAndLog()
// Log application startup
logging.InfoStartup("APPLICATION", "ACC Server Manager starting up")
di := dig.New()
di.Provide(func() *jwt.JWTHandler { return jwt.NewJWTHandler(os.Getenv("JWT_SECRET")) })
di.Provide(func() *jwt.OpenJWTHandler { return jwt.NewOpenJWTHandler(os.Getenv("JWT_SECRET_OPEN")) })
cache.Start(di)
db.Start(di)
server.Start(di)
// Log successful startup
logging.InfoStartup("APPLICATION", "ACC Server Manager started successfully")
}