package server import ( "github.com/gin-gonic/gin" "github.com/dhao2001/mygo/internal/app" "github.com/dhao2001/mygo/internal/handler" ) // NewRouter builds the Gin router and registers API routes. func NewRouter(webApp *app.WebApp) *gin.Engine { router := gin.Default() rootGroup := router.Group("/api/v1") publicGroup := rootGroup.Group("") setupVersionRoutes(publicGroup, handler.NewVersionHandler(webApp.Version)) authGroup := rootGroup.Group("") setupProtectedRoutes(authGroup) return router } func setupVersionRoutes(rg *gin.RouterGroup, h *handler.VersionHandler) { rg.GET("/version", h.Get) } func setupProtectedRoutes(rg *gin.RouterGroup) { // Protected routes will be registered after auth middleware exists. _ = rg }