package http import ( "backend/config" "backend/docs" httpHandlers "backend/internal/api/http/handlers" "backend/internal/app" "fmt" "log" "github.com/gofiber/adaptor/v2" "github.com/gofiber/fiber/v2" httpSwagger "github.com/swaggo/http-swagger" ) func Run(cfg config.Server, app *app.AppContainer) { router := fiber.New() api := router.Group("/api") registerPublicRoutes(api, app) docs.SwaggerInfo.Host = "" docs.SwaggerInfo.Schemes = []string{} docs.SwaggerInfo.BasePath = "/api" router.Get("/swagger/*", adaptor.HTTPHandler(httpSwagger.Handler())) log.Fatal(router.Listen(fmt.Sprintf("%s:%d", cfg.Host, cfg.Port))) } func registerPublicRoutes(router fiber.Router, app *app.AppContainer) { authgroup := router.Group("/auth") authService := app.AuthService() authHandler := httpHandlers.NewAuthHandler(&authService) // Register auth routes authgroup.Post("/challenge", authHandler.GenerateChallenge) authgroup.Post("/authenticate", authHandler.Authenticate) }