package router import ( "ckwk/internal/handler" "ckwk/internal/middleware" "ckwk/internal/schedule" "time" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" ) func SetupRouter() *gin.Engine { r := gin.Default() r.Use(cors.New(cors.Config{ AllowOrigins: []string{"*://*", "http://localhost:5173"}, AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "PATCH"}, AllowHeaders: []string{"*", "X-Session-Id"}, ExposeHeaders: []string{"Content-Length"}, AllowCredentials: true, MaxAge: 12 * time.Hour, })) wkHandler := handler.NewWKHandler() sessionMiddleware := middleware.SessionMiddleware(wkHandler.Session) schedule.StartCron(wkHandler.Session) api := r.Group("/api") { api.POST("/login", wkHandler.Login) v1 := api.Group("/v1") { v1.GET("/host", wkHandler.Host) } v2 := api.Group("/v2", sessionMiddleware) { v2.POST("/logout", wkHandler.Logout) v2.POST("/study", wkHandler.Study) v2.POST("/record", wkHandler.AllRecord) } } return r }