feat(marketing): add user logo management module
Users can now save uploaded logos to the backend (marketing_user_logos table), avoiding repeated uploads. Includes CRUD endpoints: list, save, delete with a per-user limit of 10 logos. Made-with: Cursor
This commit is contained in:
@@ -13,6 +13,7 @@ func registerMarketingRoutes(
|
||||
categoryHandler *marketinghandler.CategoryHandler,
|
||||
templateHandler *marketinghandler.TemplateHandler,
|
||||
downloadHandler *marketinghandler.DownloadHandler,
|
||||
userLogoHandler *marketinghandler.UserLogoHandler,
|
||||
) {
|
||||
if categoryHandler == nil || templateHandler == nil || downloadHandler == nil {
|
||||
return
|
||||
@@ -30,6 +31,12 @@ func registerMarketingRoutes(
|
||||
protectedMarketing.POST("/downloads", downloadHandler.Create)
|
||||
protectedMarketing.POST("/ad_callback", downloadHandler.AdCallback)
|
||||
protectedMarketing.GET("/downloads", downloadHandler.ListByUser)
|
||||
|
||||
if userLogoHandler != nil {
|
||||
protectedMarketing.GET("/logos", userLogoHandler.List)
|
||||
protectedMarketing.POST("/logos", userLogoHandler.Save)
|
||||
protectedMarketing.DELETE("/logos/:id", userLogoHandler.Delete)
|
||||
}
|
||||
}
|
||||
|
||||
admin := api.Group("/admin/marketing")
|
||||
|
||||
@@ -39,6 +39,7 @@ func Register(
|
||||
marketingCategoryHandler *marketinghandler.CategoryHandler,
|
||||
marketingTemplateHandler *marketinghandler.TemplateHandler,
|
||||
marketingDownloadHandler *marketinghandler.DownloadHandler,
|
||||
marketingUserLogoHandler *marketinghandler.UserLogoHandler,
|
||||
quitCheckinHandler *quitcheckinhandler.Handler,
|
||||
) {
|
||||
// Register 用来集中注册所有 HTTP 路由,便于工程结构更清晰:
|
||||
@@ -70,7 +71,7 @@ func Register(
|
||||
registerSmokeRoutes(protected, smokeHandler, quitPlanHandler)
|
||||
}
|
||||
|
||||
registerMarketingRoutes(api, protected, adminToken, marketingCategoryHandler, marketingTemplateHandler, marketingDownloadHandler)
|
||||
registerMarketingRoutes(api, protected, adminToken, marketingCategoryHandler, marketingTemplateHandler, marketingDownloadHandler, marketingUserLogoHandler)
|
||||
}
|
||||
|
||||
apiV2 := router.Group("/api/v2")
|
||||
|
||||
Reference in New Issue
Block a user