52 lines
1.6 KiB
Go
52 lines
1.6 KiB
Go
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)
|
|
admin.POST("/upload/qiniu/token", downloadHandler.AdminQiniuToken)
|
|
}
|
|
}
|