package routes import ( "github.com/gin-gonic/gin" marketinghandler "wx_service/internal/marketing/handler" ) func registerMarketingRoutes( api *gin.RouterGroup, protected *gin.RouterGroup, adminToken string, categoryHandler *marketinghandler.CategoryHandler, templateHandler *marketinghandler.TemplateHandler, downloadHandler *marketinghandler.DownloadHandler, ) { if categoryHandler == nil || templateHandler == nil || downloadHandler == nil { return } marketing := api.Group("/marketing") { marketing.GET("/categories", categoryHandler.ListEnabled) marketing.GET("/templates", templateHandler.ListEnabled) marketing.GET("/templates/:id", templateHandler.GetDetail) } protectedMarketing := protected.Group("/marketing") { protectedMarketing.POST("/downloads", downloadHandler.Create) protectedMarketing.POST("/ad_callback", downloadHandler.AdCallback) protectedMarketing.GET("/downloads", downloadHandler.ListByUser) } admin := api.Group("/admin/marketing") admin.Use(marketinghandler.AdminTokenMiddleware(adminToken)) { admin.GET("/categories", categoryHandler.AdminList) admin.POST("/categories", categoryHandler.AdminCreate) admin.PUT("/categories/:id", categoryHandler.AdminUpdate) admin.DELETE("/categories/:id", categoryHandler.AdminDelete) admin.GET("/templates", templateHandler.AdminList) admin.POST("/templates", templateHandler.AdminCreate) admin.PUT("/templates/:id", templateHandler.AdminUpdate) admin.DELETE("/templates/:id", templateHandler.AdminDelete) admin.GET("/stats", downloadHandler.AdminStats) } }