package routes import ( "go-api/pkg/context" "go-api/router/controller" "go-api/router/middleware" "go-api/router/routes/api" "os" "github.com/gin-gonic/gin" ) var patch = context.PatchContext // New web server engine func New() *gin.Engine { e := gin.New() e.Use(gin.Logger()) e.Use(gin.Recovery()) e.Use(middleware.Cors()) // if in release mode dont serve swagger api docs if os.Getenv("RELEASE") != "1" { // serve static swagger ui e.Use(middleware.SwaggerServe("/api-docs", nil)) } return e } // SetRoute setup all routes func SetRoute(e *gin.Engine) { e.GET("/", patch(controller.Health())) // if in release mode dont serve swagger api docs if os.Getenv("RELEASE") != "1" { e.GET("/api-docs.json", middleware.SwaggerSpecServe()) } api.SetAPIRoute(e.Group("/api")) }