This commit is contained in:
Tomas Dvorak
2025-11-02 21:31:00 +01:00
parent b9cea0cd77
commit 087f30e82c
130 changed files with 20104 additions and 34330 deletions
+10
View File
@@ -139,6 +139,16 @@ func (ec *EmailController) ClickRedirect(c *gin.Context) {
"subject": log.Subject,
"url": target,
})
// Engagement: award for newsletter clicks only
if strings.ToLower(strings.TrimSpace(log.Type)) == "newsletter" {
var u models.User
if err := ec.DB.Where("LOWER(email) = LOWER(?)", strings.TrimSpace(log.RecipientEmail)).First(&u).Error; err == nil && u.ID != 0 {
svc := services.NewEngagementService(ec.DB)
// Cap enforced in service (newsletter_click: max 3/day)
_, _ = svc.AwardPointsCapped(u.ID, 3, "newsletter_click", map[string]interface{}{"url": target, "email_log_id": log.ID})
_ = svc.CheckAndAwardAchievements(u.ID)
}
}
}
}
}