35 lines
929 B
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
|
|
}
|