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:
nepiedg
2026-04-04 03:46:57 +08:00
parent 1eab1b99c1
commit b4170b4863
7 changed files with 223 additions and 1 deletions
+7
View File
@@ -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")