WebSocketServer/socketclients/socketclients.go

35 lines
929 B
Go

package socketclients
import (
"clickandjoin.app/websocketserver/modules/cache"
"clickandjoin.app/websocketserver/modules/structs"
)
func BroadcastMessage(sendSocketMessage structs.SendSocketMessage) {
for _, client := range cache.GetSocketClients() {
client.SendMessage(sendSocketMessage)
}
}
func IsReceiverConnectedToThisServer(targetUserId string) (isConnected bool, socketClient []*structs.SocketClient) {
connectedSocketClients := getAllSocketClientsByUserId(targetUserId)
if len(connectedSocketClients) == 0 {
return false, connectedSocketClients
}
return true, connectedSocketClients
}
func getAllSocketClientsByUserId(userId string) []*structs.SocketClient {
var connectedSocketClients []*structs.SocketClient
for _, client := range cache.GetSocketClients() {
if client.UserId == userId {
connectedSocketClients = append(connectedSocketClients, client)
}
}
return connectedSocketClients
}