fix getting unread messages, ws endpoint

This commit is contained in:
2026-04-22 14:44:10 +02:00
parent 422c4eb419
commit 5f40a47a02
7 changed files with 21 additions and 11 deletions
+5 -6
View File
@@ -74,13 +74,13 @@ func HandleDm(response http.ResponseWriter, request *http.Request) {
Receiver: conn.Id,
}
if user.WsConn != nil {
if target.WsConn != nil {
wsServer.WsSendMessageCloseIfTimeout(target, types.WsEventMessage{
Type: WsEventType.DirectMessage,
Event: message,
})
} else {
cache.IncrementConnectionsUnreadMessages(user.Id, conn.Id)
cache.IncrementConnectionsUnreadMessages(target.Id, conn.Id)
}
err = postgresql.ConnectionMessageSave(ctx, message)
@@ -109,10 +109,9 @@ func HandleUserGetConnectionsUnreadMessages(response http.ResponseWriter, reques
http.Error(response, "invalid uuid format", http.StatusBadRequest)
return
}
result := make([]uint32, 0, len(connectionIds))
result := make([]uint32, len(*connectionIds))
for _, connId := range *connectionIds {
for _, connId := range connectionIds {
_, ok := cache.GetConnection(user, connId)
if !ok {
http.Error(response, "no such connection: "+connId.String(), http.StatusUnauthorized)
@@ -120,7 +119,7 @@ func HandleUserGetConnectionsUnreadMessages(response http.ResponseWriter, reques
}
}
for _, connId := range *connectionIds {
for _, connId := range connectionIds {
count, _ := cache.GetConnectionsUnreadMessages(user.Id, connId)
cache.DeallocateConnectionsUnreadMessages(user.Id, connId)
result = append(result, count)