diff --git a/main.go b/main.go new file mode 100644 index 0000000..9b36ce6 --- /dev/null +++ b/main.go @@ -0,0 +1,46 @@ +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) + } +}