package main import ( "git.secnex.io/secnex/idp-api/db" "git.secnex.io/secnex/idp-api/middlewares" "git.secnex.io/secnex/idp-api/routes" "git.secnex.io/secnex/idp-api/utils" "github.com/gofiber/contrib/swagger" "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/log" "github.com/gofiber/fiber/v2/middleware/healthcheck" "github.com/gofiber/fiber/v2/middleware/logger" "github.com/gofiber/fiber/v2/middleware/requestid" ) func main() { if err := db.InitializeDB(); err != nil { log.Fatalf("Failed to initialize database: %v", err) } defer db.CloseDB() utils.CheckAdminUser() app := fiber.New() swaggerCfg := swagger.Config{ BasePath: "/", FilePath: "./docs/swagger.json", Path: "/docs/swagger", Title: "Swagger API Docs", } app.Use( logger.New(), requestid.New(), healthcheck.New(), swagger.New(swaggerCfg), middlewares.DatabaseMiddleware(), // Add database middleware ) routes.SetupRoutes(app) if err := app.Listen(":8000"); err != nil { log.Fatalf("Failed to start server: %v", err) } }