add hub event sending
This commit is contained in:
@@ -152,6 +152,32 @@ func HandleSetUserAvatar(response http.ResponseWriter, request *http.Request) {
|
||||
})
|
||||
}
|
||||
|
||||
user.Mu.RLock()
|
||||
hubs := slices.Collect(maps.Values(user.Hubs))
|
||||
user.Mu.RUnlock()
|
||||
|
||||
for _, hub := range hubs {
|
||||
hub.Mu.RLock()
|
||||
hubUsers := slices.Collect(maps.Values(hub.Users))
|
||||
hub.Mu.RUnlock()
|
||||
for _, hubUser := range hubUsers {
|
||||
if hubUser.OriginalId == user.Id {
|
||||
continue
|
||||
}
|
||||
target, err := getUserById(ctx, hubUser.OriginalId)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
wsServer.WsSendMessageCloseIfTimeout(target, &types.WsHubSpecificHubEventMessage{
|
||||
Type: WsEventType.UserAvatarChange,
|
||||
HubId: hub.Id,
|
||||
Event: &map[string]any{
|
||||
"userId": user.Id,
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
response.WriteHeader(http.StatusCreated)
|
||||
}
|
||||
|
||||
@@ -273,6 +299,32 @@ func HandleSetUserProfileBg(response http.ResponseWriter, request *http.Request)
|
||||
})
|
||||
}
|
||||
|
||||
user.Mu.RLock()
|
||||
hubs := slices.Collect(maps.Values(user.Hubs))
|
||||
user.Mu.RUnlock()
|
||||
|
||||
for _, hub := range hubs {
|
||||
hub.Mu.RLock()
|
||||
hubUsers := slices.Collect(maps.Values(hub.Users))
|
||||
hub.Mu.RUnlock()
|
||||
for _, hubUser := range hubUsers {
|
||||
if hubUser.OriginalId == user.Id {
|
||||
continue
|
||||
}
|
||||
target, err := getUserById(ctx, hubUser.OriginalId)
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
wsServer.WsSendMessageCloseIfTimeout(target, &types.WsHubSpecificHubEventMessage{
|
||||
Type: WsEventType.UserProfileBgChange,
|
||||
HubId: hub.Id,
|
||||
Event: &map[string]any{
|
||||
"userId": user.Id,
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
response.WriteHeader(http.StatusCreated)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user