teg/backend/user_events.go
2026-06-13 10:15:57 +02:00

38 lines
768 B
Go

// backend\user_events.go
package main
import (
"encoding/json"
"fmt"
"time"
)
func (s *Server) publishUserProfileEvent(eventType string, user User) {
// Detaillierte Aktivitätszeiten werden nur über autorisierte Direktchat-
// Abfragen ausgeliefert, nicht über das globale User-Event.
user.LastSeenAt = nil
data, err := json.Marshal(map[string]any{
"user": user,
})
if err != nil {
return
}
now := time.Now()
notificationsBroker.publishToAll(Notification{
ID: fmt.Sprintf("%s-%s-%d", eventType, user.ID, now.UnixNano()),
UserID: user.ID,
Type: eventType,
Title: "",
Message: "",
EntityType: "user",
EntityID: user.ID,
Data: json.RawMessage(data),
Silent: true,
CreatedAt: now,
})
}