Add Event Producer

Update User to carry webhook from circle if assigned
Refactor notification handling and update models for webhook support
This commit is contained in:
Mo Tarbin 2025-02-09 20:15:28 -05:00
parent 44cb5501dd
commit 04d1894aea
17 changed files with 351 additions and 101 deletions

View file

@ -143,7 +143,7 @@ func (h *Handler) LeaveCircle(c *gin.Context) {
// START : HANDLE USER LEAVING CIRCLE
// bulk update chores:
if err := handleUserLeavingCircle(h, c, currentUser, orginalCircleID); err != nil {
if err := handleUserLeavingCircle(h, c, &currentUser.User, orginalCircleID); err != nil {
log.Error("Error handling user leaving circle:", err)
c.JSON(500, gin.H{
"error": "Error handling user leaving circle",

View file

@ -14,6 +14,7 @@ type Circle struct {
UpdatedAt time.Time `json:"updated_at" gorm:"column:updated_at"` // Updated at
InviteCode string `json:"invite_code" gorm:"column:invite_code"` // Invite code
Disabled bool `json:"disabled" gorm:"column:disabled"` // Disabled
WebhookURL *string `json:"-" gorm:"column:webhook_url"` // Webhook URL
}
type CircleDetail struct {
@ -35,8 +36,8 @@ type UserCircle struct {
type UserCircleDetail struct {
UserCircle
Username string `json:"-" gorm:"column:username"`
DisplayName string `json:"displayName" gorm:"column:display_name"`
NotificationType nModel.NotificationType `json:"-" gorm:"column:notification_type"`
TargetID string `json:"-" gorm:"column:target_id"` // Target ID
Username string `json:"-" gorm:"column:username"`
DisplayName string `json:"displayName" gorm:"column:display_name"`
NotificationType nModel.NotificationPlatform `json:"-" gorm:"column:notification_type"`
TargetID string `json:"-" gorm:"column:target_id"` // Target ID
}